fesa-core
4.2.0
|
This class extends the AbstractMultiplexingManager in order to provide a multiplexing manager in which every cycle has a fixed slot. More...
#include <MultiplexingManager.h>
Public Member Functions | |
int32_t | getSlot (const MultiplexingContext &context) |
This method returns the slot in which the required value is stored, according to the given multiplexing context. More... | |
int32_t | requireSlot (const MultiplexingContext &context) |
This method returns the next slot in which the value of a field will be stored. More... | |
MultiplexingManager (std::string &name, CycleDescriptor *timingDescriptor, MultiplexingDataManager *dataManager) | |
Constructor. More... | |
Public Member Functions inherited from fesa::AbstractMultiplexingManager | |
virtual int32_t | getDepth () |
This method returns the depth of the multiplexing manager. More... | |
const std::string & | getTimingDomain () const |
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 | ~AbstractMultiplexingManager () |
Destructor. | |
Protected Member Functions | |
AbstractMultiplexingDataManager * | getMultiplexingDataManager () |
This method returns the MultiplexingDataManager. Is is pure virtual in the baseclass, so we have to provide an implementation. More... | |
int32_t | requireSlot (const std::string &cycleName) |
This method returns the next slot in which the value of a field will be stored. More... | |
int32_t | requireSlot (int32_t cycleId) |
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... | |
int32_t | getLastSlot (int32_t cycleId) |
This method returns the slot in which the last value for the virtual accelerator passed by argument was stored. More... | |
int32_t | getLastSlot (const std::string &cycleName) |
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... | |
Protected Member Functions inherited from fesa::AbstractMultiplexingManager | |
CycleDescriptor * | getTimingDescriptor () |
This method returns the timing descriptor of this multiplexing manager. More... | |
const std::string & | getName () |
This method returns the name of the multiplexing manager. More... | |
AbstractMultiplexingManager (const std::string &name, CycleDescriptor *timingDescriptor) | |
Constructor. More... | |
Additional Inherited Members | |
Static Protected Member Functions inherited from fesa::AbstractMultiplexingManager | |
static std::size_t | getMemorySizeToAllocate () |
This method retrieves the size to be allocated in heap or shared memory, regarding the collection of multiplexing managers. More... | |
static void | mapMemory (char *pAddr, bool first) |
static AbstractMultiplexingManager * | getMultiplexingManager (const std::string &name) |
This method retrieves the desired multiplexing manager. More... | |
Protected Attributes inherited from fesa::AbstractMultiplexingManager | |
std::string | name_ |
mutex that protects conditional variable newMsgCondVar_ | |
CycleDescriptor * | timingDescriptor_ |
a reference to the timing descriptor | |
Static Protected Attributes inherited from fesa::AbstractMultiplexingManager | |
static std::map< std::string, AbstractMultiplexingManager * > | managersCol_ |
a map which contains pointers to all the multiplexing managers on the system | |
This class extends the AbstractMultiplexingManager in order to provide a multiplexing manager in which every cycle has a fixed slot.
fesa::MultiplexingManager::MultiplexingManager | ( | std::string & | name, |
CycleDescriptor * | timingDescriptor, | ||
MultiplexingDataManager * | dataManager | ||
) |
Constructor.
name | of the multiplexing manager |
timingDescriptor | reference to the TimingDescriptor that will be used in the multiplexing manager |
dataManager | reference to the MultiplexingDataManager, which is used to manage the memory access to the data |
|
protectedvirtual |
This method returns the slot in which the last value for the virtual accelerator passed by argument was stored.
cycleId | the ID of the cycle for the requested slot |
Implements fesa::AbstractMultiplexingManager.
|
protectedvirtual |
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.
cycleName | the name of teh cycle |
Implements fesa::AbstractMultiplexingManager.
|
protectedvirtual |
This method returns the MultiplexingDataManager. Is is pure virtual in the baseclass, so we have to provide an implementation.
Implements fesa::AbstractMultiplexingManager.
|
virtual |
This method returns the slot in which the required value is stored, according to the given multiplexing context.
context | the multiplexing context for which a slot is requested |
Reimplemented from fesa::AbstractMultiplexingManager.
|
virtual |
This method returns the next slot in which the value of a field will be stored.
context | the multiplexing context for which a slot is requested |
Implements fesa::AbstractMultiplexingManager.
|
protectedvirtual |
This method returns the next slot in which the value of a field will be stored.
cycleId | the ID of the cycle for the requested slot |
Implements fesa::AbstractMultiplexingManager.
|
protectedvirtual |
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.
cycleId | the ID of the cycle for the requested slot |
Implements fesa::AbstractMultiplexingManager.