|
| 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.