fesa::RollingMultiplexingManager Class Reference

This class extends the AbstractMultiplexingManager in order to provide a rolling multiplexing manager (explanation of "rolling" see class RollingDataManager). More...

#include <RollingMultiplexingManager.h>

Inheritance diagram for fesa::RollingMultiplexingManager:
fesa::AbstractMultiplexingManager

List of all members.

Public Member Functions

int32_t requireSlot (MultiplexingContext &context)
 This method returns the next slot in which the value of a field will be stored.
int32_t getSlot (MultiplexingContext &context)
 This method returns the slot in which the required value is stored, according to the given multiplexing context.
 RollingMultiplexingManager (std::string &name, CycleDescriptor *timingDescriptor, RollingMultiplexingDataManager *dataManager)
 Constructor.
 RollingMultiplexingManager (RollingMultiplexingDataManager *dataManager)
 Constructor.
int32_t getDepth ()
 This method returns the depth of the multiplexing manager.

Protected Member Functions

AbstractMultiplexingDataManagergetMultiplexingDataManager ()
 This method returns the MultiplexingDataManager. Is is pure virtual in the baseclass, so we have to provide an implementation.
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.
int32_t requireSlot (const std::string &cycleName)
 This method returns the next slot in which the value of a field will be stored.
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.
int32_t requireSlot (int32_t cycleId)
 This method returns the next slot in which the value of a field will be stored.

Private Attributes

RollingMultiplexingDataManagerdataManager_
 The dataManager of this multiplexing manager, to be independent from memory questions.

Detailed Description

This class extends the AbstractMultiplexingManager in order to provide a rolling multiplexing manager (explanation of "rolling" see class RollingDataManager).

Definition at line 21 of file RollingMultiplexingManager.h.


Constructor & Destructor Documentation

fesa::RollingMultiplexingManager::RollingMultiplexingManager ( std::string &  name,
CycleDescriptor timingDescriptor,
RollingMultiplexingDataManager dataManager 
)

Constructor.

Parameters:
name The multiplexing criterion is the name of the multiplexing manager
timingDescriptor to describe the used timing system
dataManager reference to the data manager, which is used to manage the memory access to the data

Definition at line 15 of file RollingMultiplexingManager.cpp.

fesa::RollingMultiplexingManager::RollingMultiplexingManager ( RollingMultiplexingDataManager dataManager  ) 

Constructor.

Parameters:
dataManager reference to the data manager, which is used to manage the memory access to the data

Definition at line 21 of file RollingMultiplexingManager.cpp.


Member Function Documentation

int32_t fesa::RollingMultiplexingManager::getDepth (  )  [inline, virtual]

This method returns the depth of the multiplexing manager.

Returns:
the depth of the multiplexing manager

Reimplemented from fesa::AbstractMultiplexingManager.

Definition at line 115 of file RollingMultiplexingManager.h.

References dataManager_, and fesa::RollingMultiplexingDataManager::getDepth().

int32_t fesa::RollingMultiplexingManager::getLastSlot ( int32_t  cycleId  )  [protected, virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 43 of file RollingMultiplexingManager.cpp.

References dataManager_, FesaErrorVAcceleratorSlotValueNotCorrect, and fesa::RollingMultiplexingDataManager::findCycleIdBackward().

int32_t fesa::RollingMultiplexingManager::getLastSlot ( const std::string &  cycleName  )  [protected, virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 27 of file RollingMultiplexingManager.cpp.

References dataManager_, FesaErrorVAcceleratorSlotValueNotCorrect, fesa::RollingMultiplexingDataManager::findCycleIdBackward(), fesa::CycleDescriptor::getCycleSelectorId(), and fesa::AbstractMultiplexingManager::timingDescriptor_.

AbstractMultiplexingDataManager * fesa::RollingMultiplexingManager::getMultiplexingDataManager (  )  [inline, protected, virtual]

This method returns the MultiplexingDataManager. Is is pure virtual in the baseclass, so we have to provide an implementation.

Returns:
pointer to the DataManager

Implements fesa::AbstractMultiplexingManager.

Definition at line 120 of file RollingMultiplexingManager.h.

References dataManager_.

int32_t fesa::RollingMultiplexingManager::getSlot ( MultiplexingContext context  )  [virtual]
int32_t fesa::RollingMultiplexingManager::requireSlot ( int32_t  cycleId  )  [protected, virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 98 of file RollingMultiplexingManager.cpp.

References FesaErrorRollingManagerRequiresCycleStamp.

int32_t fesa::RollingMultiplexingManager::requireSlot ( const std::string &  cycleName  )  [protected, virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 90 of file RollingMultiplexingManager.cpp.

References FesaErrorRollingManagerRequiresCycleStamp.

int32_t fesa::RollingMultiplexingManager::requireSlot ( MultiplexingContext context  )  [virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 105 of file RollingMultiplexingManager.cpp.

References dataManager_, FesaErrorWrongContext, fesa::RollingMultiplexingDataManager::findCycleStampBackward(), fesa::MultiplexingContext::getCycleName(), fesa::CycleDescriptor::getCycleSelectorId(), fesa::MultiplexingContext::getCycleStamp(), fesa::RollingMultiplexingDataManager::nextPosition(), and fesa::AbstractMultiplexingManager::timingDescriptor_.


Member Data Documentation

The dataManager of this multiplexing manager, to be independent from memory questions.

Definition at line 112 of file RollingMultiplexingManager.h.

Referenced by getDepth(), getLastSlot(), getMultiplexingDataManager(), getSlot(), and requireSlot().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1