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
AbstractMultiplexingDataManager * | getMultiplexingDataManager ()=0 |
| This method returns the MultiplexingDataManager of this multiplexing manager Is is implemented by each concrete MultiplexingManager. There is no attribute in the base class because each multiplexing manager requires a different type of services. In this way we avoid casting in the extended classes. More...
|
|
const std::string & | getName () |
| This method returns the name of the multiplexing manager. More...
|
|
| AbstractMultiplexingManager (const std::string &name, 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 std::string & |
name, |
|
|
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 |
virtual int32_t fesa::AbstractMultiplexingManager::getLastSlot |
( |
const std::string & |
cycleName | ) |
|
|
protectedpure virtual |
virtual int32_t fesa::AbstractMultiplexingManager::getLastSlot |
( |
int32_t |
cycleId | ) |
|
|
protectedpure virtual |
std::size_t fesa::AbstractMultiplexingManager::getMemorySizeToAllocate |
( |
| ) |
|
|
staticprotected |
This method retrieves the size to be allocated in heap or shared memory, regarding the collection of multiplexing managers.
- Returns
- the size to allocate
This method retrieves the desired multiplexing manager.
- Parameters
-
name | The name of the multiplexing manager |
- Returns
- a pointer to the desired multiplexing manager, or NULL if not found
const std::string & fesa::AbstractMultiplexingManager::getName |
( |
| ) |
|
|
inlineprotected |
This method returns the name of the multiplexing manager.
- Returns
- the name of the multiplexing manager
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::ExtendedMultiplexingManager, and 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 * |
pAddr, |
|
|
bool |
first |
|
) |
| |
|
staticprotected |
Maps shared fields to the memory pointed to by pAddr.
- Parameters
-
pAddr | address where to map shared fields |
first | true if this is the first process to map the shared fields |
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
const MultiplexingContext & |
context | ) |
|
|
pure virtual |
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
const std::string & |
cycleName | ) |
|
|
protectedpure virtual |
virtual int32_t fesa::AbstractMultiplexingManager::requireSlot |
( |
int32_t |
cycleId | ) |
|
|
protectedpure virtual |
The documentation for this class was generated from the following files:
- AbstractMultiplexingManager.h
- AbstractMultiplexingManager.cpp