14 #ifndef HTGS_BASEIRULE_HPP 15 #define HTGS_BASEIRULE_HPP 69 virtual std::string
getName() = 0;
98 #endif //HTGS_BASEIRULE_HPP std::mutex & getMutex()
Gets the mutex associated with this IRule.
Definition: AnyIRule.hpp:77
bool useLocks
Will enable using the mutex to lock the rule to ensure this rule is only accessed by a thread at a ti...
Definition: AnyIRule.hpp:94
std::mutex mutex
The mutex associated with this IRule to ensure no more than one thread is processing the rule at a ti...
Definition: AnyIRule.hpp:93
AnyIRule(bool useLocks)
Creates an AnyIRule with locks specified.
Definition: AnyIRule.hpp:37
virtual bool canTerminateRule(size_t pipelineId)=0
Virtual function to determine if a rule is ready to be terminated.
Base class for an htgs::IRule.
Definition: AnyIRule.hpp:25
virtual ~AnyIRule()
Destructor.
Definition: AnyIRule.hpp:43
AnyIRule()
Creates an AnyIRule with locks enabled.
Definition: AnyIRule.hpp:31
bool canUseLocks() const
Gets whether the rule should use locks or not.
Definition: AnyIRule.hpp:87
virtual void shutdownRule(size_t pipelineId)=0
Virtual function that handles when a rule is being shutdown for a particular pipelineId.
virtual std::string getName()=0
Virtual function to get the name of the IRule.
Definition: Bookkeeper.hpp:23