This class is used to find the correct slot for a multiplexed field value using the virtual accelerator or the multiplexing context.
More...
#include <AbstractMultiplexingManager.h>
|
virtual int32_t | getDepth () |
| This method returns the depth of the multiplexing manager. More...
|
|
const std::string & | getTimingDomain () const |
|
const CycleDescriptor * | getTimingDescriptor () const |
|
virtual int32_t | requireSlot (const MultiplexingContext &context)=0 |
| This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager. More...
|
|
virtual int32_t | getSlot (const MultiplexingContext &context) |
| This method returns the slot in which the required value is stored, according to the given multiplexing context.The method is implemented by the concrete multiplexing manager. More...
|
|
virtual int32_t | getSlotByTimeStamp (timestamp_ns timeStamp) |
|
virtual int32_t | getClosestSlot (timestamp_ns timestamp) |
|
virtual int32_t | getClosestSlot (const std::string &cycleName, timestamp_ns timestamp) |
|
virtual int32_t | getSlotByCycleName (const std::string &cycleName) |
| This method the last given cycleName set slot. More...
|
|
virtual std::size_t | computeMemorySize () |
| returns the number of bytes needed to store the data of the class shared between server and RT processes.
|
|
virtual void | mapMemory (char *&address, bool first, std::ostream &logStream) |
|
|
| AbstractMultiplexingManager (const CycleDescriptor *timingDescriptor) |
| Constructor. More...
|
|
virtual int32_t | getLastSlot (const std::string &cycleName)=0 |
| This method returns the slot in which the last value for the virtual accelerator passed by argument was stored. The method is implemented by the concrete multiplexing manager. More...
|
|
virtual int32_t | requireSlot (const std::string &cycleName)=0 |
| This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager. More...
|
|
virtual int32_t | requireSlot (int32_t cycleId)=0 |
| This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager. More...
|
|
virtual int32_t | getLastSlot (int32_t cycleId)=0 |
| This method returns the slot in which the last value for the virtual accelerator passed by argument was stored. The method is implemented by the concrete multiplexing manager. More...
|
|
This class is used to find the correct slot for a multiplexed field value using the virtual accelerator or the multiplexing context.
fesa::AbstractMultiplexingManager::AbstractMultiplexingManager |
( |
const CycleDescriptor * |
timingDescriptor | ) |
|
|
protected |
Constructor.
- Parameters
-
name | of the multiplexing manager |
timingDescriptor | reference to the TimingDescriptor that will be used in the multiplexing manager |
int32_t fesa::AbstractMultiplexingManager::getClosestSlot |
( |
timestamp_ns |
timestamp | ) |
|
|
inlinevirtual |
int32_t fesa::AbstractMultiplexingManager::getClosestSlot |
( |
const std::string & |
cycleName, |
|
|
timestamp_ns |
timestamp |
|
) |
| |
|
inlinevirtual |
Returns the slot closest to the given timestamp whose cycle matches cycleName.
- Parameters
-
cycleName | the name of the cycle to look for |
timestamp | the timestamp to look for |
Reimplemented in fesa::RollingBufferMuxManager.
int32_t fesa::AbstractMultiplexingManager::getDepth |
( |
| ) |
|
|
virtual |
This method returns the depth of the multiplexing manager.
- Returns
- the depth of the multiplexing manager
Reimplemented in fesa::RollingBufferMuxManager.
virtual int32_t fesa::AbstractMultiplexingManager::getLastSlot |
( |
const std::string & |
cycleName | ) |
|
|
protectedpure virtual |
This method returns the slot in which the last value for the virtual accelerator passed by argument was stored. The method is implemented by the concrete multiplexing manager.
- Parameters
-
cycleName | the name of teh cycle |
- Returns
- the last slot used by the requested cycle
Implemented in fesa::RollingBufferMuxManager, and fesa::MultiplexingManager.
virtual int32_t fesa::AbstractMultiplexingManager::getLastSlot |
( |
int32_t |
cycleId | ) |
|
|
protectedpure virtual |
This method returns the slot in which the last value for the virtual accelerator passed by argument was stored. The method is implemented by the concrete multiplexing manager.
- Parameters
-
cycleId | the ID of the cycle for the requested slot |
- Returns
- the last slot used by the requested cycle
Implemented in fesa::RollingBufferMuxManager, and fesa::MultiplexingManager.
This method returns the slot in which the required value is stored, according to the given multiplexing context.The method is implemented by the concrete multiplexing manager.
- Parameters
-
context | the multiplexing context for which a slot is requested |
- Returns
- the slot where the data corresponding to the context is stored
Reimplemented in fesa::MultiplexingManager.
int32_t fesa::AbstractMultiplexingManager::getSlotByCycleName |
( |
const std::string & |
cycleName | ) |
|
|
inlinevirtual |
int32_t fesa::AbstractMultiplexingManager::getSlotByTimeStamp |
( |
timestamp_ns |
timeStamp | ) |
|
|
inlinevirtual |
const CycleDescriptor * fesa::AbstractMultiplexingManager::getTimingDescriptor |
( |
| ) |
const |
|
inline |
Returns the timing descriptor associated to this multiplexing manager.
const std::string & fesa::AbstractMultiplexingManager::getTimingDomain |
( |
| ) |
const |
Returns the timing domain associated to this multiplexing manager.
void fesa::AbstractMultiplexingManager::mapMemory |
( |
char *& |
address, |
|
|
bool |
first, |
|
|
std::ostream & |
logStream |
|
) |
| |
|
virtual |
Maps shared fields to the memory pointed to by address.
- Parameters
-
[in,out] | address | address where to map shared fields. It is updated to point to the byte following the last byte mapped. |
| first | true if this is the first process to map the shared fields |
| logStream | stream on which details of the mapping are output |
Reimplemented in fesa::RollingBufferMuxManager.
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
const MultiplexingContext & |
context | ) |
|
|
pure virtual |
This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager.
- Parameters
-
context | the multiplexing context for which a slot is requested |
- Returns
- the slot where the data can be stored
Implemented in fesa::MultiplexingManager, and fesa::RollingBufferMuxManager.
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
const std::string & |
cycleName | ) |
|
|
protectedpure virtual |
This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager.
- Parameters
-
cycleName | the name of the cycle |
- Returns
- the slot where data can be stored
Implemented in fesa::RollingBufferMuxManager, and fesa::MultiplexingManager.
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
int32_t |
cycleId | ) |
|
|
protectedpure virtual |
This method returns the next slot in which the value of a field will be stored. The method is implemented by the concrete multiplexing manager.
- Parameters
-
cycleId | the ID of the cycle for the requested slot |
- Returns
- the slot where data can be stored
Implemented in fesa::RollingBufferMuxManager, and fesa::MultiplexingManager.
The documentation for this class was generated from the following files:
- AbstractMultiplexingManager.h
- AbstractMultiplexingManager.cpp