11#include <framework/core/Module.h>
52 void event()
override;
Wraps a given Module to execute it asynchronously.
ModulePtr getWrapped()
Access wrapped module (owned by AsyncWrapper).
TxModule * m_tx
transmitting module.
void initialize() override
Call this from initialize().
void event() override
Call this from event().
void terminate() override
Call this from terminate().
ModulePtr m_wrappedModule
The wrapped module.
static bool isAsync()
returns true if the current process is on the receiving (async) side of an AsyncWrapper.
RxModule * m_rx
receiving module.
static int numAvailableEvents()
Retun number of events available in the RingBuffer.
RingBuffer * m_ringBuffer
shared memory buffer
static RingBuffer * s_currentRingBuffer
if s_isAsync is true, this contains the corresponding RingBuffer, see numAvailableEvents().
static bool s_isAsync
true if the current process is on the receiving (async) side of an AsyncWrapper.
bool m_discardOldEvents
Discard old events when buffer is full.
Class to manage a Ring Buffer placed in an IPC shared memory.
Module to decode data store contents from RingBuffer.
Module for encoding data store contents into a RingBuffer.
std::shared_ptr< Module > ModulePtr
Defines a pointer to a module object as a boost shared pointer.
Abstract base class for different kinds of events.