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 88 of file pipeline.h.
|
inline |
Creates a new MultiConsumer object.
consumers | The list of consumers that should all consume given products |
Definition at line 99 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 151 of file pipeline.h.
|
inlinevirtual |
Triggers timeout functionality for all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 136 of file pipeline.h.
|
inlinevirtual |
Sets up all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 106 of file pipeline.h.
|
inlinevirtual |
Stops all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 126 of file pipeline.h.
|
inlinevirtual |
Tears down all registered consumers.
Reimplemented from urcl::comm::IConsumer< T >.
Definition at line 116 of file pipeline.h.
|
private |
Definition at line 91 of file pipeline.h.