fesa-core  7.0.0
fesa::MultiplexingManager Class Reference

This class extends the AbstractMultiplexingManager in order to provide a multiplexing manager in which every cycle has a fixed slot. More...

#include <MultiplexingManager.h>

Inheritance diagram for fesa::MultiplexingManager:
fesa::AbstractMultiplexingManager

Public Member Functions

 MultiplexingManager (CycleDescriptor *timingDescriptor)
 
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...
 
- 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
 
const CycleDescriptorgetTimingDescriptor () 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 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)
 

Protected Member Functions

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
 AbstractMultiplexingManager (const CycleDescriptor *timingDescriptor)
 Constructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from fesa::AbstractMultiplexingManager
const CycleDescriptortimingDescriptor_
 a reference to the timing descriptor
 

Detailed Description

This class extends the AbstractMultiplexingManager in order to provide a multiplexing manager in which every cycle has a fixed slot.

Constructor & Destructor Documentation

fesa::MultiplexingManager::MultiplexingManager ( CycleDescriptor timingDescriptor)
Parameters
timingDescriptorreference to the TimingDescriptor that will be used in the multiplexing manager

Member Function Documentation

int32_t fesa::MultiplexingManager::getLastSlot ( int32_t  cycleId)
protectedvirtual

This method returns the slot in which the last value for the virtual accelerator passed by argument was stored.

Parameters
cycleIdthe ID of the cycle for the requested slot
Returns
the last slot used by the requested cycle

Implements fesa::AbstractMultiplexingManager.

int32_t fesa::MultiplexingManager::getLastSlot ( const std::string &  cycleName)
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.

Parameters
cycleNamethe name of teh cycle
Returns
the last slot used by the requested cycle

Implements fesa::AbstractMultiplexingManager.

int32_t fesa::MultiplexingManager::getSlot ( const MultiplexingContext context)
virtual

This method returns the slot in which the required value is stored, according to the given multiplexing context.

Parameters
contextthe multiplexing context for which a slot is requested
Returns
the slot where the data corresponding to the context is stored

Reimplemented from fesa::AbstractMultiplexingManager.

int32_t fesa::MultiplexingManager::requireSlot ( const MultiplexingContext context)
virtual

This method returns the next slot in which the value of a field will be stored.

Parameters
contextthe multiplexing context for which a slot is requested
Returns
the slot where the data can be stored

Implements fesa::AbstractMultiplexingManager.

int32_t fesa::MultiplexingManager::requireSlot ( const std::string &  cycleName)
protectedvirtual

This method returns the next slot in which the value of a field will be stored.

Parameters
cycleIdthe ID of the cycle for the requested slot
Returns
the slot where data can be stored

Implements fesa::AbstractMultiplexingManager.

int32_t fesa::MultiplexingManager::requireSlot ( int32_t  cycleId)
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.

Parameters
cycleIdthe ID of the cycle for the requested slot
Returns
the slot where data can be stored

Implements fesa::AbstractMultiplexingManager.


The documentation for this class was generated from the following files: