Consumer, that allows one product to be consumed by multiple arbitrary conusmers. More...
#include <pipeline.h>
Public Member Functions | |
bool | consume (std::shared_ptr< T > product) |
Consumes a given product with all registered consumers. More... | |
MultiConsumer (std::vector< IConsumer< T > *> consumers) | |
Creates a new MultiConsumer object. More... | |
virtual void | onTimeout () |
Triggers timeout functionality for all registered consumers. More... | |
virtual void | setupConsumer () |
Sets up all registered consumers. More... | |
virtual void | stopConsumer () |
Stops all registered consumers. More... | |
virtual void | teardownConsumer () |
Tears down all registered consumers. More... | |
Private Attributes | |
std::vector< IConsumer< T > * > | consumers_ |
Consumer, that allows one product to be consumed by multiple arbitrary conusmers.
T | Type of the consumed products |
Definition at line 89 of file pipeline.h.
|
inline |
Creates a new MultiConsumer object.
consumers | The list of consumers that should all consume given products |
Definition at line 100 of file pipeline.h.
|
inlinevirtual |
Consumes a given product with all registered consumers.
product | Shared pointer to the product to be consumed. |
Implements urcl::comm::IConsumer< T >.
Definition at line 152 of file pipeline.h.
|
inlinevirtual |
Triggers timeout functionality for all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 137 of file pipeline.h.
|
inlinevirtual |
Sets up all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 107 of file pipeline.h.
|
inlinevirtual |
Stops all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 127 of file pipeline.h.
|
inlinevirtual |
Tears down all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 117 of file pipeline.h.
|
private |
Definition at line 92 of file pipeline.h.