fesa-core
5.0.1
|
This class extends the RollingBufferMuxDataManager class to deal with shared memory. More...
#include <ShmRollingBufferMuxDataManager.h>
Public Member Functions | |
ShmRollingBufferMuxDataManager (int32_t depth) | |
Constructor. More... | |
std::size_t | computeMemorySize () |
This method returns the number of bites that are necessary to store the date of the class. More... | |
void | mapMemory (char *address, bool first) |
![]() | |
RollingBufferMuxDataManager (int32_t depth) | |
Constructor. More... | |
int32_t | findCycleIdBackward (int32_t cycleId) |
This method finds the latest occurrence of the cycleId passed by parameter. The method looks up the ID going backwards from the currentPosition. More... | |
int32_t | findCycleStampBackward (timestamp_ns cycleStamp) |
This method finds the latest occurrence of the cycleStamp passed by parameter. The method looks up the stamp going backwards from the currentPosition. More... | |
int32_t | findClosestTimeStamp (timestamp_ns timestamp) |
int32_t | findClosestCycleId (int32_t cycleId, timestamp_ns timestamp) |
int64_t | getCycleStamp (int32_t position) |
int32_t | nextPosition (int64_t timeStamp, int32_t cycleId) |
this method moves the currentIndex to the next slot available in the currentCycleIds vector | |
int32_t | getCurrentPosition () |
int32_t | getDepth () |
This method returns the depth of the data. More... | |
int32_t | getCurrentCycleId () |
This method returns the cycle ID of the current slot. More... | |
int32_t | getNumberStoredValues () |
This method returns the number of stored values in the rolling buffer. More... | |
![]() | |
MultiplexingDataManager () | |
Constructor. | |
virtual | ~MultiplexingDataManager () |
Destructor. | |
![]() | |
virtual | ~AbstractMultiplexingDataManager () |
Destructor. | |
Additional Inherited Members | |
![]() | |
int32_t * | currentIdsCol_ |
this vector stores the used cycle IDs | |
int64_t * | currentCycleStampsCol_ |
this vector stores the used cycle stamps | |
int32_t | depth_ |
contains the number of slots to store the cycleIds | |
int32_t * | currentId_ |
the ID of the ongoing cycle | |
int32_t * | currentPosition_ |
this element points to the next slot available in the currentIdesCol_ vector | |
int32_t * | numberStoredValues_ |
Number of stored values in the rolling buffer. | |
![]() | |
Mutex * | mutex_ |
mutex for all class member variables | |
This class extends the RollingBufferMuxDataManager class to deal with shared memory.
fesa::ShmRollingBufferMuxDataManager::ShmRollingBufferMuxDataManager | ( | int32_t | depth | ) |
Constructor.
depth | The number of slots the multiplexing manager will support |
|
virtual |
This method returns the number of bites that are necessary to store the date of the class.
Implements fesa::RollingBufferMuxDataManager.
|
virtual |
Maps shared fields to the memory pointed to by pAddr.
address | address where to map shared fields |
first | true if this is the first process to map the shared fields |
Implements fesa::RollingBufferMuxDataManager.