HTGS
v2.0
The Hybrid Task Graph Scheduler
|
Connects a Bookkeeper to another ITask using one IRule. More...
#include <htgs/core/rules/AnyRuleManager.hpp>
Public Member Functions | |
virtual | ~AnyRuleManager () |
Destructor. | |
virtual void | initialize (size_t pipelineId, size_t numPipelines, std::string address)=0 |
Initializes the RuleManager. More... | |
virtual void | shutdown ()=0 |
Shuts down the RuleManager. More... | |
virtual bool | isTerminated ()=0 |
Checks whether the RuleManager is terminated or not. More... | |
virtual void | setOutputConnector (std::shared_ptr< AnyConnector > connector)=0 |
Sets the output connector that the RuleManager is attached to. More... | |
virtual AnyRuleManager * | copy ()=0 |
Creates a copy of the RuleManager. More... | |
virtual std::shared_ptr< AnyConnector > | getConnector ()=0 |
Gets the output connector associated with the RuleManager. More... | |
virtual std::string | getName (int flags=0)=0 |
Gets the name of the RuleManager and the names of all IRules that it manages. More... | |
virtual void | debug ()=0 |
Provides debug output. More... | |
virtual void | checkRuleTermination ()=0 |
Checks the rule if termination can be done. | |
Connects a Bookkeeper to another ITask using one IRule.
Removes the template parameters for the RuleManager
When data is forwarded to the RuleManager from the Bookkeeper, the data is passed to an IRule that is associated with the RuleManager. Each IRule is responsible for determining if/when data is ready to be sent to the ITask that the RuleManager is bound to.
The input and output types of each IRule added to a RuleManager must match the input and output types of the RuleManager.
Example Usage:
T | the input data type for the RuleManager, T must derive from IData. |
U | the output data type for the RuleManager, U must derive from IData. |
|
pure virtual |
Creates a copy of the RuleManager.
The original and all copies share the same rule and access them synchronously.
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Provides debug output.
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Gets the output connector associated with the RuleManager.
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Gets the name of the RuleManager and the names of all IRules that it manages.
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Initializes the RuleManager.
pipelineId | the pipelineID |
numPipelines | the number of pipelines |
address | the address for the bookkeeper task |
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Checks whether the RuleManager is terminated or not.
TRUE | if the RuleManager is terminated |
FALSE | if the RuleManager is not terminated |
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Sets the output connector that the RuleManager is attached to.
connector | the output connector |
Implemented in htgs::RuleManager< T, U >.
|
pure virtual |
Shuts down the RuleManager.
Will also shutdown the rule associated with the RuleManager Only called if the bookkeeper associated with the RuleManager is shutting down (all rules managers are closed and input is no longer producing data)
Implemented in htgs::RuleManager< T, U >.