HTGS  v2.0
The Hybrid Task Graph Scheduler
AnyRuleManager.hpp
Go to the documentation of this file.
1 //
2 // Created by tjb3 on 2/22/17.
3 //
4 
14 #ifndef HTGS_ANYRULEMANAGER_HPP
15 #define HTGS_ANYRULEMANAGER_HPP
16 
18 
19 namespace htgs {
20 
54  public:
55 
59  virtual ~AnyRuleManager() {}
60 
71  virtual void initialize(size_t pipelineId, size_t numPipelines, std::string address) = 0;
72 
82  virtual void shutdown() = 0;
83 
93  virtual bool isTerminated() = 0;
94 
102  virtual void setOutputConnector(std::shared_ptr<AnyConnector> connector) = 0;
103 
112  virtual AnyRuleManager *copy() = 0;
113 
121  virtual std::shared_ptr<AnyConnector> getConnector() = 0;
122 
127  virtual std::string getName(int flags = 0) = 0;
128 
133  virtual void debug() = 0;
134 
138  virtual void checkRuleTermination() = 0;
139 
140 };
141 }
142 #endif //HTGS_ANYRULEMANAGER_HPP
virtual void setOutputConnector(std::shared_ptr< AnyConnector > connector)=0
Sets the output connector that the RuleManager is attached to.
virtual void checkRuleTermination()=0
Checks the rule if termination can be done.
virtual AnyRuleManager * copy()=0
Creates a copy of the RuleManager.
virtual ~AnyRuleManager()
Destructor.
Definition: AnyRuleManager.hpp:59
Connects a Bookkeeper to another ITask using one IRule.
Definition: AnyRuleManager.hpp:53
Holds parent class for Connector, removes template type of Connector.
virtual bool isTerminated()=0
Checks whether the RuleManager is terminated or not.
virtual void debug()=0
Provides debug output.
virtual std::string getName(int flags=0)=0
Gets the name of the RuleManager and the names of all IRules that it manages.
virtual std::shared_ptr< AnyConnector > getConnector()=0
Gets the output connector associated with the RuleManager.
Definition: Bookkeeper.hpp:23
virtual void shutdown()=0
Shuts down the RuleManager.
virtual void initialize(size_t pipelineId, size_t numPipelines, std::string address)=0
Initializes the RuleManager.