HTGS  v2.0
The Hybrid Task Graph Scheduler
htgs::AnyRuleManagerInOnly< T > Class Template Referenceabstract

Implements the base class for the rule manager, but only provides the input type. More...

#include <htgs/core/rules/AnyRuleManagerInOnly.hpp>

Inheritance diagram for htgs::AnyRuleManagerInOnly< T >:
Inheritance graph
Collaboration diagram for htgs::AnyRuleManagerInOnly< T >:
Collaboration graph

Public Member Functions

virtual ~AnyRuleManagerInOnly () override
 Destructor.
 
virtual void executeTask (std::shared_ptr< T > data)=0
 Processes the input data, which is forwarded to the IRule synchronously. More...
 
- Public Member Functions inherited from htgs::AnyRuleManager
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 AnyRuleManagercopy ()=0
 Creates a copy of the RuleManager. More...
 
virtual std::shared_ptr< AnyConnectorgetConnector ()=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.
 

Detailed Description

template<class T>
class htgs::AnyRuleManagerInOnly< T >

Implements the base class for the rule manager, but only provides the input type.

Contains functions that are specific only to the input type for the rule manager. This is used by the bookkeeper for executing the rule manager.

Template Parameters
Tthe input type

Member Function Documentation

◆ executeTask()

template<class T>
virtual void htgs::AnyRuleManagerInOnly< T >::executeTask ( std::shared_ptr< T >  data)
pure virtual

Processes the input data, which is forwarded to the IRule synchronously.

It is possible the data received is nullptr, at which it will first check for rule termination before processing the null data.

Parameters
datathe input data
Note
This function should only be called by the HTGS API

Implemented in htgs::RuleManager< T, U >.


The documentation for this class was generated from the following file: