Hedgehog
3.1.0
A library to generate hybrid pipeline workflow systems
|
Implementor for the ReceiverAbstraction. More...
#include "implementor_receiver.h"
Public Member Functions | |
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. | |
Protected Attributes | |
std::unique_ptr< std::set< abstraction::ReceiverAbstraction< Input > * > > | abstractReceivers_ = nullptr |
Set of linked ReceiverAbstraction. | |
Implementor for the ReceiverAbstraction.
Input | Data type received |
Definition at line 43 of file implementor_receiver.h.
|
inlineexplicit |
Default constructor.
Definition at line 50 of file implementor_receiver.h.
|
virtualdefault |
Default destructor.
|
pure virtual |
Add a SenderAbstraction.
sender | SenderAbstraction to add |
Implemented in hh::core::implementor::GraphReceiver< Input >, and hh::core::implementor::QueueReceiver< Input >.
|
pure virtual |
Accessor to the connected senders.
Implemented in hh::core::implementor::GraphReceiver< Input >, hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::QueueReceiver< Inputs >.
|
pure virtual |
Test if the receiver is empty or not.
Implemented in hh::core::implementor::GraphReceiver< Input >, hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::QueueReceiver< Inputs >.
|
pure virtual |
Accessor to a received data.
Implemented in hh::core::implementor::GraphReceiver< Input >, hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::QueueReceiver< Inputs >.
|
inlinevirtual |
Initialize the implementor Receiver by setting the corresponding abstraction.
receiverAbstraction | Receiver abstraction to set |
Reimplemented in hh::core::implementor::GraphReceiver< Input >.
Definition at line 62 of file implementor_receiver.h.
|
pure virtual |
Accessor to the maximum number of data waiting to be processed in the queue during the whole execution.
Implemented in hh::core::implementor::GraphReceiver< Input >, hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::QueueReceiver< Inputs >.
|
pure virtual |
Accessor to number of data waiting to be processed in the queue.
Implemented in hh::core::implementor::GraphReceiver< Input >, hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::QueueReceiver< Inputs >.
|
pure virtual |
Receive data interface.
data | Data received by the core |
Implemented in hh::core::implementor::QueueReceiver< Input >, and hh::core::implementor::GraphReceiver< Input >.
|
inline |
Accessor to the linked ReceiverAbstraction.
Definition at line 58 of file implementor_receiver.h.
|
pure virtual |
Remove a SenderAbstraction.
sender | SenderAbstraction to remove |
Implemented in hh::core::implementor::GraphReceiver< Input >, and hh::core::implementor::QueueReceiver< Input >.
|
protected |
Set of linked ReceiverAbstraction.
Definition at line 46 of file implementor_receiver.h.