fesa-core
4.2.0
|
This class extends the RollingDataManager class to deal with heap memory. More...
#include <HeapRollingBufferMuxDataManager.h>
Public Member Functions | |
HeapRollingBufferMuxDataManager (int32_t depth) | |
Constructor. More... | |
std::size_t | computeMemorySize () |
This method returns the number of bytes which are necessary to store the date of the class. More... | |
void | mapMemory (char *address, bool first) |
Public Member Functions inherited from fesa::RollingBufferMuxDataManager | |
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... | |
Public Member Functions inherited from fesa::MultiplexingDataManager | |
MultiplexingDataManager () | |
Constructor. | |
virtual | ~MultiplexingDataManager () |
Destructor. | |
Public Member Functions inherited from fesa::AbstractMultiplexingDataManager | |
virtual | ~AbstractMultiplexingDataManager () |
Destructor. | |
Additional Inherited Members | |
Protected Attributes inherited from fesa::RollingBufferMuxDataManager | |
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. | |
Protected Attributes inherited from fesa::MultiplexingDataManager | |
int32_t * | currentCycleId_ |
Current cycleID. | |
Mutex * | mutex_ |
mutex for all class member variables | |
int32_t * | currentSlot_ |
The slot where the data of the current cycle is stored. | |
This class extends the RollingDataManager class to deal with heap memory.
fesa::HeapRollingBufferMuxDataManager::HeapRollingBufferMuxDataManager | ( | int32_t | depth | ) |
Constructor.
depth | the number of data-elements which need to be handled |
|
virtual |
This method returns the number of bytes which 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.