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

List of all members.

Public Member Functions

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

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 requireSlot (const std::string &cycleName)
 This method returns the next slot in which the value of a field will be stored.
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.
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 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.

Private Attributes

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

Detailed Description

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

Definition at line 18 of file MultiplexingManager.h.


Constructor & Destructor Documentation

fesa::MultiplexingManager::MultiplexingManager ( std::string &  name,
CycleDescriptor timingDescriptor,
MultiplexingDataManager dataManager 
)

Constructor.

Parameters:
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

Definition at line 17 of file MultiplexingManager.cpp.


Member Function Documentation

int32_t fesa::MultiplexingManager::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. 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

Implements fesa::AbstractMultiplexingManager.

Definition at line 22 of file MultiplexingManager.cpp.

References fesa::CycleDescriptor::getCycleSelectorId(), fesa::NO_TIMING_SELECTOR, and fesa::AbstractMultiplexingManager::timingDescriptor_.

int32_t fesa::MultiplexingManager::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 36 of file MultiplexingManager.cpp.

References FesaErrorVAcceleratorSlotValueNotCorrect, fesa::CycleDescriptor::getCycleIdsCol(), fesa::NO_TIMING_SELECTOR, and fesa::AbstractMultiplexingManager::timingDescriptor_.

Referenced by requireSlot().

AbstractMultiplexingDataManager * fesa::MultiplexingManager::getMultiplexingDataManager (  )  [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 87 of file MultiplexingManager.cpp.

References dataManager_.

int32_t fesa::MultiplexingManager::getSlot ( MultiplexingContext context  )  [virtual]

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

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 64 of file MultiplexingManager.cpp.

References fesa::MultiplexingContext::getCycleName(), and requireSlot().

Referenced by requireSlot().

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

Implements fesa::AbstractMultiplexingManager.

Definition at line 82 of file MultiplexingManager.cpp.

References getLastSlot().

int32_t fesa::MultiplexingManager::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 71 of file MultiplexingManager.cpp.

References getLastSlot().

int32_t fesa::MultiplexingManager::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 77 of file MultiplexingManager.cpp.

References getSlot().

Referenced by getSlot().


Member Data Documentation

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

Definition at line 77 of file MultiplexingManager.h.

Referenced by getMultiplexingDataManager().


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

Generated on 18 Jan 2013 for Fesa by  doxygen 1.6.1