Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Base core node abstraction. More...
#include "node_abstraction.h"
Public Member Functions | |
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. | |
Private Attributes | |
std::string const | name_ |
Name of the core. | |
bool | isRegistered_ = false |
Is registered into a graph. | |
GraphNodeAbstraction * | belongingGraph_ = nullptr |
Graph holding this node. | |
std::chrono::nanoseconds | executionDuration_ = std::chrono::nanoseconds::zero() |
Node execution duration. | |
std::chrono::time_point< std::chrono::system_clock > | startExecutionTimeStamp_ = std::chrono::system_clock::now() |
Node begin execution timestamp. | |
Base core node abstraction.
Definition at line 61 of file node_abstraction.h.
|
inlineexplicit |
Core node constructor using the core's name.
name | Core's name |
Definition at line 75 of file node_abstraction.h.
|
virtualdefault |
DEfault destructor.
|
inline |
Belonging graph accessor.
Definition at line 99 of file node_abstraction.h.
|
inlinevirtual |
Get the device identifier (got from belonging graph)
Reimplemented in hh::core::abstraction::GraphNodeAbstraction.
Definition at line 103 of file node_abstraction.h.
|
inline |
Execution duration.
Definition at line 111 of file node_abstraction.h.
|
inlinevirtual |
Get the graph identifier (got from belonging graph)
Reimplemented in hh::core::abstraction::GraphNodeAbstraction.
Definition at line 107 of file node_abstraction.h.
|
inlinevirtual |
Core's id ('x' + address of abstraction) as string.
Reimplemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, and hh::core::CoreExecutionPipeline< Separator, AllTypes... >.
Definition at line 86 of file node_abstraction.h.
|
pure virtual |
Node ids [nodeId, nodeGroupId] accessor.
Implemented in hh::core::abstraction::ExecutionPipelineNodeAbstraction, hh::core::CoreGraph< Separator, AllTypes >, hh::core::CoreGraph< Separator, AllTypes... >, hh::core::CoreStateManager< Separator, AllTypes >, hh::core::CoreStateManager< Separator, AllTypes... >, hh::core::CoreTask< Separator, AllTypes >, hh::core::CoreTask< Separator, AllTypes... >, hh::core::CoreSwitch< Inputs >, hh::core::CoreSwitch< Inputs... >, hh::core::GraphSink< Outputs >, hh::core::GraphSink< Outputs... >, hh::core::GraphSource< Inputs >, and hh::core::GraphSource< Inputs... >.
|
inline |
Increment execution duration.
exec | Duration to add in nanoseconds |
Definition at line 127 of file node_abstraction.h.
|
inline |
Accessor to registration flag.
Definition at line 94 of file node_abstraction.h.
|
inline |
Accessor to the core's name.
Definition at line 82 of file node_abstraction.h.
|
pure virtual |
Node accessor.
Implemented in hh::core::abstraction::TaskNodeAbstraction, hh::core::CoreGraph< Separator, AllTypes >, hh::core::CoreGraph< Separator, AllTypes... >, hh::core::CoreSwitch< Inputs >, hh::core::CoreSwitch< Inputs... >, hh::core::GraphSink< Outputs >, hh::core::GraphSink< Outputs... >, hh::core::GraphSource< Inputs >, and hh::core::GraphSource< Inputs... >.
|
inlinevirtual |
Register node to the given graph.
belongingGraph | Belonging graph |
Reimplemented in hh::core::CoreExecutionPipeline< Separator, AllTypes >, hh::core::CoreExecutionPipeline< Separator, AllTypes... >, and hh::core::abstraction::GraphNodeAbstraction.
Definition at line 131 of file node_abstraction.h.
|
inline |
Accessor to the starting execution timestamp.
Definition at line 115 of file node_abstraction.h.
|
inline |
Setter to the starting execution timestamp.
startExecutionTimeStamp | Starting execution timestamp |
Definition at line 121 of file node_abstraction.h.
|
private |
Graph holding this node.
Definition at line 66 of file node_abstraction.h.
|
private |
Node execution duration.
Definition at line 67 of file node_abstraction.h.
|
private |
Is registered into a graph.
Definition at line 64 of file node_abstraction.h.
|
private |
Name of the core.
Definition at line 63 of file node_abstraction.h.
|
private |
Node begin execution timestamp.
Definition at line 70 of file node_abstraction.h.