Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Default concrete implementation of the receiver abstraction for the graph core. More...
#include "graph_receiver.h"
Public Member Functions | |
GraphReceiver ()=default | |
Default constructor. | |
virtual | ~GraphReceiver ()=default |
Default destructor. | |
void | initialize (abstraction::ReceiverAbstraction< Input > *receiverAbstraction) override |
Redefine the implementor to do nothing, the graph do nothing by itself. | |
size_t | numberElementsReceived () const override |
Do nothing, throw an error, a graph does not receive data, its input nodes do. | |
size_t | maxNumberElementsReceived () const override |
Do nothing, throw an error, a graph does not receive data, its input nodes do. | |
bool | empty () const override |
Do nothing, throw an error, a graph does not receive data, its input nodes do. | |
std::shared_ptr< Input > | getInputData () override |
Do nothing, throw an error, a graph does not receive data, its input nodes do. | |
std::set< abstraction::SenderAbstraction< Input > * > const & | connectedSenders () const override |
Do nothing, throw an error, a graph is not really connected to other nodes. | |
void | receive (std::shared_ptr< Input > data) override |
Receive a data and transmit to its input nodes. | |
void | addSender (abstraction::SenderAbstraction< Input > *const sender) override |
Add a sender to add to the graph input nodes. | |
void | removeSender (abstraction::SenderAbstraction< Input > *const sender) override |
Remove a sender to add to the graph input nodes. | |
![]() | |
ImplementorReceiver () | |
Default constructor. | |
virtual | ~ImplementorReceiver ()=default |
Default destructor. | |
std::set< abstraction::ReceiverAbstraction< Input > * > & | receivers () |
Accessor to the linked ReceiverAbstraction. | |
virtual void | initialize (abstraction::ReceiverAbstraction< Input > *receiverAbstraction) |
Initialize the implementor Receiver by setting the corresponding abstraction. | |
virtual std::set< abstraction::SenderAbstraction< Input > * > const & | connectedSenders () const =0 |
Accessor to the connected senders. | |
virtual void | addSender (abstraction::SenderAbstraction< Input > *sender)=0 |
Add a SenderAbstraction. | |
virtual void | removeSender (abstraction::SenderAbstraction< Input > *sender)=0 |
Remove a SenderAbstraction. | |
virtual void | receive (std::shared_ptr< Input > data)=0 |
Receive data interface. | |
virtual std::shared_ptr< Input > | getInputData ()=0 |
Accessor to a received data. | |
virtual size_t | numberElementsReceived () const =0 |
Accessor to number of data waiting to be processed in the queue. | |
virtual size_t | maxNumberElementsReceived () const =0 |
Accessor to the maximum number of data waiting to be processed in the queue during the whole execution. | |
virtual bool | empty () const =0 |
Test if the receiver is empty or not. | |
Additional Inherited Members | |
![]() | |
std::unique_ptr< std::set< abstraction::ReceiverAbstraction< Input > * > > | abstractReceivers_ = nullptr |
Set of linked ReceiverAbstraction. | |
Default concrete implementation of the receiver abstraction for the graph core.
Input | Input type |
Definition at line 37 of file graph_receiver.h.
|
explicitdefault |
Default constructor.
|
virtualdefault |
Default destructor.
|
inlineoverridevirtual |
Add a sender to add to the graph input nodes.
sender | Sender to add |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 104 of file graph_receiver.h.
|
inlineoverridevirtual |
Do nothing, throw an error, a graph is not really connected to other nodes.
std::runtime_error | A graph is not connected to any senders |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 89 of file graph_receiver.h.
|
inlineoverridevirtual |
Do nothing, throw an error, a graph does not receive data, its input nodes do.
std::runtime_error | It is not possible to get the number of input data from the graph receiver as it is only used to transfer data to input nodes. |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 72 of file graph_receiver.h.
|
inlineoverridevirtual |
Do nothing, throw an error, a graph does not receive data, its input nodes do.
std::runtime_error | It is not possible to get the number of input data from the graph receiver as it is only used to transfer data to input nodes. |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 81 of file graph_receiver.h.
|
inlineoverridevirtual |
Redefine the implementor to do nothing, the graph do nothing by itself.
receiverAbstraction | Abstraction not used |
Reimplemented from hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 48 of file graph_receiver.h.
|
inlineoverridevirtual |
Do nothing, throw an error, a graph does not receive data, its input nodes do.
std::runtime_error | It is not possible to get the number of input data from the graph receiver as it is only used to transfer data to input nodes. |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 63 of file graph_receiver.h.
|
inlineoverridevirtual |
Do nothing, throw an error, a graph does not receive data, its input nodes do.
std::runtime_error | It is not possible to get the number of input data from the graph receiver as it is only used to transfer data to input nodes. |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 54 of file graph_receiver.h.
|
inlineoverridevirtual |
Receive a data and transmit to its input nodes.
data | Dat ato transmit to input nodes |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 95 of file graph_receiver.h.
|
inlineoverridevirtual |
Remove a sender to add to the graph input nodes.
sender | Sender to remove |
Implements hh::core::implementor::ImplementorReceiver< Input >.
Definition at line 113 of file graph_receiver.h.