User Manual, Developers Guide and API Documentation

wns::scheduler::strategy::dsastrategy::DSAStrategy Class Reference

provides methods for "Dynamic Subchannel Assignment" (DSA). Used by scheduler strategies for during doAdaptiveResourceScheduling()

#include <scheduler/strategy/dsastrategy/DSAStrategy.hpp>

Inheritance diagram for wns::scheduler::strategy::dsastrategy::DSAStrategy:

Inheritance graph
[legend]
Collaboration diagram for wns::scheduler::strategy::dsastrategy::DSAStrategy:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual bool channelIsUsable (int subChannel, int timeSlot, RequestForResource &request, SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap) const
 true if requested PDU can be scheduled on that resource block
virtual bool channelIsUsable (int subChannel, int timeSlot, int spatialLayer, RequestForResource &request, SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap) const
 true if requested PDU can be scheduled on that subChannel&timeSlot&spatialLayer
 DSAStrategy (const wns::pyconfig::View &config)
virtual simTimeType getCompoundDuration (RequestForResource &request) const
 if phyModePtr is specified, the duration of the PDU on the subChannel can be calculated. Otherwise, undefined means: assume the highest PhyMode
int getSpatialLayerForSubChannel (int subChannel, int timeSlot, RequestForResource &request, SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap) const
 true if requested PDU can be scheduled on that subChannel
virtual void initialize (SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap)
 call this before each timeSlot/frame. Important to reset starting values.
virtual void setColleagues (RegistryProxyInterface *_registry)
 called once at the beginning
virtual ~DSAStrategy ()

Protected Attributes

bool adjacentSubchannelsOnUplink
 UL: true if all subchannels must be adjacent (SC-FDMA).
struct
wns::scheduler::strategy::dsastrategy::DSAStrategy::Colleagues 
colleagues
double highestDataRatePerSubChannel
 data rate per subChannel assuming the highest PhyMode
wns::logger::Logger logger
wns::scheduler::UserID myUserID
 myUserID is important in channelIsUsable()
bool oneUserOnOneSubChannel
 may different users share a sbubchannel? Usually not.
wns::service::phy::phymode::PhyModeMapperInterfacephyModeMapper
 phyModeMapper is required to get the dataRate of a PhyMode

Private Attributes

std::string dsastrategyName

Classes

struct  Colleagues


Detailed Description

Definition at line 44 of file DSAStrategy.hpp.


Constructor & Destructor Documentation

DSAStrategy::DSAStrategy ( const wns::pyconfig::View config  ) 

Definition at line 36 of file DSAStrategy.cpp.

DSAStrategy::~DSAStrategy (  )  [virtual]

Definition at line 48 of file DSAStrategy.cpp.


Member Function Documentation

bool DSAStrategy::channelIsUsable ( int  subChannel,
int  timeSlot,
RequestForResource request,
SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) const [virtual]

Definition at line 171 of file DSAStrategy.cpp.

bool DSAStrategy::channelIsUsable ( int  subChannel,
int  timeSlot,
int  spatialLayer,
RequestForResource request,
SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) const [virtual]

Definition at line 246 of file DSAStrategy.cpp.

simTimeType DSAStrategy::getCompoundDuration ( RequestForResource request  )  const [virtual]

Definition at line 82 of file DSAStrategy.cpp.

int DSAStrategy::getSpatialLayerForSubChannel ( int  subChannel,
int  timeSlot,
RequestForResource request,
SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) const

Definition at line 104 of file DSAStrategy.cpp.

void DSAStrategy::initialize ( SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) [virtual]

void DSAStrategy::setColleagues ( RegistryProxyInterface _registry  )  [virtual]


Member Data Documentation

Definition at line 101 of file DSAStrategy.hpp.

Definition at line 109 of file DSAStrategy.hpp.

Definition at line 103 of file DSAStrategy.hpp.

Definition at line 91 of file DSAStrategy.hpp.

Definition at line 107 of file DSAStrategy.hpp.

Definition at line 99 of file DSAStrategy.hpp.

Definition at line 105 of file DSAStrategy.hpp.


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

Generated on Sun May 27 03:33:05 2012 for openWNS by  doxygen 1.5.5