|  | 
|  | CoreStateManager (StateManager< Separator, AllTypes... > *const stateManager, std::shared_ptr< AbstractState< Separator, AllTypes... > > const &state) | 
|  | Construct a state manager from the user state manager and its state. 
 | 
|  | 
|  | CoreStateManager (StateManager< Separator, AllTypes... > *const stateManager, std::shared_ptr< AbstractState< Separator, AllTypes... > > const &state, std::string const &name, bool const automaticStart) | 
|  | Construct a state manager from the user state manager, its state, a name and the automatic start flag. 
 | 
|  | 
| template<class ConcreteMultiReceivers , class ConcreteMultiExecutes , class ConcreteMultiSenders > | 
|  | CoreStateManager (StateManager< Separator, AllTypes... > *const stateManager, std::shared_ptr< AbstractState< Separator, AllTypes... > > const &state, std::string const &name, bool const automaticStart, std::shared_ptr< implementor::ImplementorSlot > const &concreteSlot, std::shared_ptr< ConcreteMultiReceivers > concreteMultiReceivers, std::shared_ptr< ConcreteMultiExecutes > concreteMultiExecutes, std::shared_ptr< implementor::ImplementorNotifier > const &concreteNotifier, std::shared_ptr< ConcreteMultiSenders > concreteMultiSenders) | 
|  | Construct a state manager from the state manager and its concrete abstraction's implementations. 
 | 
|  | 
|  | ~CoreStateManager () override=default | 
|  | Default destructor. 
 | 
|  | 
| bool | automaticStart () const | 
|  | Accessor to the automatic start flag. 
 | 
|  | 
| bool | callCanTerminate (bool lock) override | 
|  | Call user-definable termination. 
 | 
|  | 
| void | visit (Printer *printer) override | 
|  | Visit the state manager. 
 | 
|  | 
| std::vector< std::pair< std::string const, std::string const > > | ids () const override | 
|  | Node ids [nodeId, nodeGroupId] accessor. 
 | 
|  | 
| void | preRun () override | 
|  | Initialize the state manager. 
 | 
|  | 
| void | run () override | 
|  | Main core state manager logic. 
 | 
|  | 
| void | postRun () override | 
|  | Post run logic, shutdown the state manager, notify successor nodes of state manager termination. 
 | 
|  | 
| bool | hasMemoryManagerAttached () const override | 
|  | Test if a memory manager is attached. 
 | 
|  | 
| std::string | extraPrintingInformation () const override | 
|  | Accessor to user-defined extra information for the state-manager. 
 | 
|  | 
| std::shared_ptr< AbstractMemoryManager > | memoryManager () const override | 
|  | Accessor to the memory manager. 
 | 
|  | 
|  | TaskNodeAbstraction (std::string const &name, behavior::Node *node) | 
|  | Create the abstraction with the node's name. 
 | 
|  | 
|  | ~TaskNodeAbstraction () override=default | 
|  | Default destructor. 
 | 
|  | 
| bool | isActive () const | 
|  | Accessor to task status. 
 | 
|  | 
| bool | isInitialized () const | 
|  | Accessor to initialized flag. 
 | 
|  | 
| size_t | numberReceivedElements () const | 
|  | Accessor to the number of received elements. 
 | 
|  | 
| std::chrono::nanoseconds const & | waitDuration () const | 
|  | Accessor to the duration the node was in a wait state. 
 | 
|  | 
| std::chrono::nanoseconds const & | memoryWaitDuration () const | 
|  | Accessor to the duration the node was in a memory wait state. 
 | 
|  | 
| std::shared_ptr< NvtxProfiler > const & | nvtxProfiler () const | 
|  | Accessor to the NVTX profiler attached to the node. 
 | 
|  | 
| std::chrono::nanoseconds | perElementExecutionDuration () const | 
|  | Accessor to the duration the average duration of processing an input data. 
 | 
|  | 
| void | isActive (bool isActive) | 
|  | Setter to the task status. 
 | 
|  | 
| void | incrementNumberReceivedElements () | 
|  | Increment the number of elements received. 
 | 
|  | 
| void | incrementWaitDuration (std::chrono::nanoseconds const &wait) | 
|  | Increment the wait duration. 
 | 
|  | 
| void | incrementMemoryWaitDuration (std::chrono::nanoseconds const &wait) | 
|  | Increase the memory wait duration. 
 | 
|  | 
| void | incrementPerElementExecutionDuration (std::chrono::nanoseconds const &exec) | 
|  | Increase the execution time per elements. 
 | 
|  | 
| virtual void | preRun ()=0 | 
|  | Pre run method, called only once. 
 | 
|  | 
| virtual void | run ()=0 | 
|  | Run method, called when thread is attached. 
 | 
|  | 
| virtual void | postRun ()=0 | 
|  | Post run method, called only once. 
 | 
|  | 
| virtual std::string | extraPrintingInformation () const =0 | 
|  | Abstraction to add user-defined message for the printers. 
 | 
|  | 
| virtual bool | hasMemoryManagerAttached () const =0 | 
|  | Flag accessor to the presence of memory manager attached. 
 | 
|  | 
| virtual std::shared_ptr< AbstractMemoryManager > | memoryManager () const =0 | 
|  | Accessor to the attached memory manager. 
 | 
|  | 
| behavior::Node * | node () const override | 
|  | Node accessor. 
 | 
|  | 
|  | NodeAbstraction (std::string name) | 
|  | Core node constructor using the core's name. 
 | 
|  | 
| virtual | ~NodeAbstraction ()=default | 
|  | DEfault destructor. 
 | 
|  | 
| std::string const & | name () const | 
|  | Accessor to the core's name. 
 | 
|  | 
| virtual std::string | id () const | 
|  | Core's id ('x' + address of abstraction) as string. 
 | 
|  | 
| bool | isRegistered () const | 
|  | Accessor to registration flag. 
 | 
|  | 
| GraphNodeAbstraction * | belongingGraph () const | 
|  | Belonging graph accessor. 
 | 
|  | 
| virtual int | deviceId () const | 
|  | Get the device identifier (got from belonging graph) 
 | 
|  | 
| virtual size_t | graphId () const | 
|  | Get the graph identifier (got from belonging graph) 
 | 
|  | 
| std::chrono::nanoseconds const & | executionDuration () const | 
|  | Execution duration. 
 | 
|  | 
| std::chrono::time_point< std::chrono::system_clock > const & | startExecutionTimeStamp () const | 
|  | Accessor to the starting execution timestamp. 
 | 
|  | 
| void | startExecutionTimeStamp (std::chrono::time_point< std::chrono::system_clock > const &startExecutionTimeStamp) | 
|  | Setter to the starting execution timestamp. 
 | 
|  | 
| void | incrementExecutionDuration (std::chrono::nanoseconds const &exec) | 
|  | Increment execution duration. 
 | 
|  | 
| virtual void | registerNode (GraphNodeAbstraction *belongingGraph) | 
|  | Register node to the given graph. 
 | 
|  | 
| virtual std::vector< std::pair< std::string const, std::string const > > | ids () const =0 | 
|  | Node ids [nodeId, nodeGroupId] accessor. 
 | 
|  | 
| virtual behavior::Node * | node () const =0 | 
|  | Node accessor. 
 | 
|  | 
| tool::PrintOptions const & | printOptions () const | 
|  | Print options const accessor. 
 | 
|  | 
| tool::PrintOptions & | printOptions () | 
|  | Print options accessor. 
 | 
|  | 
| virtual void | visit (Printer *printer)=0 | 
|  | Visitor method, used by the printer to visit all nodes in the graph. 
 | 
|  | 
|  | ClonableAbstraction () | 
|  | Default constructor. 
 | 
|  | 
| virtual | ~ClonableAbstraction ()=default | 
|  | Default destructor. 
 | 
|  | 
| void | storeClone (std::shared_ptr< abstraction::NodeAbstraction > const &clone) | 
|  | Store a core clone. 
 | 
|  | 
| virtual std::shared_ptr< abstraction::NodeAbstraction > | clone (std::map< NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &correspondenceMap)=0 | 
|  | Clone virtual function. 
 | 
|  | 
| virtual void | duplicateEdge (std::map< NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping)=0 | 
|  | Duplicate the output edges of a node. 
 | 
|  | 
|  | CleanableAbstraction ()=default | 
|  | Constructor used by the CoreGraph to have the handles to clean inner cleanable nodes. 
 | 
|  | 
|  | CleanableAbstraction (behavior::Cleanable *const cleanableNode) | 
|  | Constructor used by cleanable nodes. 
 | 
|  | 
| virtual | ~CleanableAbstraction ()=default | 
|  | Default destructor. 
 | 
|  | 
| virtual void | gatherCleanable (std::unordered_set< hh::behavior::Cleanable * > &cleanableSet) | 
|  | Gather cleanable node from the graph, and the state manager. 
 | 
|  | 
|  | CanTerminateAbstraction (behavior::CanTerminate *const canTerminateNode) | 
|  | Constructor using behavior::CanTerminate node abstraction. 
 | 
|  | 
| virtual | ~CanTerminateAbstraction ()=default | 
|  | Default destructor. 
 | 
|  | 
| bool | callNodeCanTerminate () const | 
|  | Call user-definable termination. 
 | 
|  | 
| virtual bool | callCanTerminate (bool lock)=0 | 
|  | Interface for calling user-definable termination. 
 | 
|  | 
|  | CopyableAbstraction (CopyableNode *const copyableNode) | 
|  | Constructor using a node abstraction. 
 | 
|  | 
| virtual | ~CopyableAbstraction ()=default | 
|  | Default destructor. 
 | 
|  | 
template<
size_t Separator, class ... AllTypes>
class hh::core::CoreStateManager< Separator, AllTypes >
AbstractState manager core. 
- Template Parameters
- 
  
    | Separator | Separator position between input types and output types |  | AllTypes | List of input and output types |  
 
Definition at line 72 of file core_state_manager.h.