User Manual, Developers Guide and API Documentation

wns::scheduler::strategy::dsastrategy::FarFirst Class Reference

DSA startegy equally distributing available resources between users. If there are n resources and m users: m1 = n mod m users get floor(n/m) + 1 resources, m - m1 users get floor(n/m) resources. The resources are then granted to a user by first increasing the subChannel number, then the timeSlot, then the spatialLayer. TODO: Make it configurable in which order time, frequency and space domain are used for resource sorting.

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

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

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

 FarFirst (const wns::pyconfig::View &config)
virtual DSAResult getSubChannelWithDSA (RequestForResource &request, SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap)
 determine subChannel for request. This is only a suggestion. The allocation/fixation is done outside.
virtual void initialize (SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap)
 call this before each timeSlot/frame. Important to reset starting values.
bool requiresCQI () const
 true if the strategy must have CQI information. E.g. for getBestSubChannel based on CQI
 ~FarFirst ()

Private Attributes

std::map< double, int,
std::greater< double > > 
resAmount_
std::map< double, std::set
< DSAResult >::iterator,
std::greater< double > > 
resStart_
std::set< DSAResult, FreqFirstsortedResources_


Detailed Description

Definition at line 46 of file FarFirst.hpp.


Constructor & Destructor Documentation

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

Definition at line 41 of file FarFirst.cpp.

FarFirst::~FarFirst (  ) 

Definition at line 47 of file FarFirst.cpp.


Member Function Documentation

DSAResult FarFirst::getSubChannelWithDSA ( RequestForResource request,
SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) [virtual]

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

Reimplemented from wns::scheduler::strategy::dsastrategy::DSAStrategy.

Definition at line 54 of file FarFirst.cpp.

bool wns::scheduler::strategy::dsastrategy::FarFirst::requiresCQI (  )  const [inline, virtual]


Member Data Documentation

Definition at line 69 of file FarFirst.hpp.

std::map<double, std::set<DSAResult>::iterator, std::greater<double> > wns::scheduler::strategy::dsastrategy::FarFirst::resStart_ [private]

Definition at line 66 of file FarFirst.hpp.

Definition at line 61 of file FarFirst.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