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