Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Source of the graph, only used in an outer graph. More...
#include "graph_source.h"
Public Member Functions | |
GraphSource () | |
Default constructor. | |
~GraphSource () override=default | |
Default destructor. | |
template<class Input > | |
void | sendAndNotifyAllInputs (std::shared_ptr< Input > &data) |
Send a piece of data to all input nodes and notify them. | |
void | print (Printer *printer) |
Gather source information. | |
std::vector< std::pair< std::string const, std::string const > > | ids () const override |
Node ids [nodeId, nodeGroupId] accessor. | |
behavior::Node * | node () const override |
Getter to the node counterpart. | |
![]() | |
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. | |
![]() | |
NotifierAbstraction (std::shared_ptr< implementor::ImplementorNotifier > notifier) | |
Constructor utilising a concrete implementation. | |
virtual | ~NotifierAbstraction ()=default |
Default destructor. | |
std::set< NotifierAbstraction * > const & | notifiers () const |
Const accessor to notifiers. | |
std::set< NotifierAbstraction * > & | notifiers () |
Accessor to notifiers. | |
void | addSlot (SlotAbstraction *const slot) |
Add a SlotAbstraction to this notifier. | |
void | removeSlot (SlotAbstraction *const slot) |
Remove SlotAbstraction from this notifier. | |
std::set< SlotAbstraction * > const & | connectedSlots () const |
Accessor to the slots attached to this notifier. | |
void | notify () |
Notify a slot to wake up. | |
void | notifyAllTerminated () |
Notifier all slots that this node is terminated. | |
![]() | |
SenderAbstraction (std::shared_ptr< implementor::ImplementorSender< Inputs > > concreteSender) | |
Constructor using the concrete implementation. | |
virtual | ~SenderAbstraction ()=default |
Default destructor. | |
std::set< SenderAbstraction< Inputs > * > const & | senders () const |
Const accessor to senders. | |
std::set< SenderAbstraction< Inputs > * > & | senders () |
Accessor to senders. | |
std::set< ReceiverAbstraction< Inputs > * > const & | connectedReceivers () const |
Accessor to the receivers attached to this SenderAbstraction. | |
void | addReceiver (ReceiverAbstraction< Inputs > *const receiver) |
Add a ReceiverAbstraction. | |
void | removeReceiver (ReceiverAbstraction< Inputs > *const receiver) |
Remove a ReceiverAbstraction. | |
void | send (std::shared_ptr< Inputs > data) |
Send a data as output of the node. | |
Additional Inherited Members | |
![]() | |
void | duplicateEdgeNotifier (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
Duplicate edges of the current notifier to slots to clone in map. | |
![]() | |
void | copyInnerStructure (SenderAbstraction< Inputs > *copyableCore) |
Copy inner structure of the sender to this one. | |
void | duplicateEdgeSender (std::map< abstraction::NodeAbstraction *, std::shared_ptr< NodeAbstraction > > &mapping) |
Duplicate edges of the current sender to receiver to clone in map. | |
Source of the graph, only used in an outer graph.
Inputs | Input list types of the graph |
Definition at line 42 of file graph_source.h.
|
inline |
Default constructor.
Definition at line 50 of file graph_source.h.
|
overridedefault |
Default destructor.
|
inlineoverridevirtual |
Node ids [nodeId, nodeGroupId] accessor.
Implements hh::core::abstraction::NodeAbstraction.
Definition at line 76 of file graph_source.h.
|
inlineoverridevirtual |
Getter to the node counterpart.
std::runtime_error | because there is no Node attached to the core |
Implements hh::core::abstraction::NodeAbstraction.
Definition at line 83 of file graph_source.h.
|
inline |
Gather source information.
printer | Printer visitor gathering information on nodes |
Definition at line 70 of file graph_source.h.
|
inline |
Send a piece of data to all input nodes and notify them.
Input | Input data type |
data | Input data |
Definition at line 63 of file graph_source.h.