User Manual, Developers Guide and API Documentation

wns::scheduler::strategy::Strategy Class Reference

this is the base class of a scheduler strategy; it provides basic operations common for all strategies. See StaticPriority and SubStrategies for more advanced concepts

#include <scheduler/strategy/Strategy.hpp>

Inheritance diagram for wns::scheduler::strategy::Strategy:

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

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual MapInfoEntryPtr doAdaptiveResourceScheduling (wns::scheduler::strategy::RequestForResource &request, wns::scheduler::SchedulingMapPtr schedulingMap)
 performs resource scheduling including DSA, AMC and APC algorithms
virtual
dsastrategy::DSAStrategyInterface
getDSAStrategy ()
MapInfoCollectionPtr getMapInfo () const
 get scheduling result. For sending Maps. Called from MapHandler. The caller must do colleagues.strategy->clearMap() afterwards. Used by LTE.
wns::scheduler::PowerCapabilities getPowerCapabilities (const UserID user) const
 retrieve info about a peer user's power capabilities (for master UL scheduling)
virtual float getResourceUsage () const
 obtain percentage of resources allocated during last round. Default Implementation only.
virtual
wns::scheduler::SchedulerSpotType 
getSchedulerSpotType () const
 there are three positions for the scheduler...
virtual bool isNewStrategy () const
 indicates if strategy is of 'old' (before 2009) or 'new' type (>=2009). Used in assertions.
virtual bool isTx () const
 indicates type of ResourceScheduler (TX or RX). Only used in WinProSt.
virtual void onColleaguesKnown ()
 can be overloaded by derived classes to perform initialization code. The derived method MUST call this base class method first.
virtual void setColleagues (queue::QueueInterface *_queue, grouper::GroupingProviderInterface *_grouper, RegistryProxyInterface *_registry, wns::scheduler::harq::HARQInterface *_harq)
 Colleagues are required to communicate with the environment.
virtual void setFriends (wns::service::phy::ofdma::BFInterface *_ofdmaProvider)
 called in specialized scheduler (WinProSt,WiMAC,...) for defining friends
 Strategy (const wns::pyconfig::View &config)
virtual ~Strategy ()
 cleanup. The derived method MUST call this base class method at the end.

Protected Member Functions

virtual
wns::service::phy::phymode::PhyModeInterfacePtr 
getBestPhyMode (const wns::Ratio &sinr) const
 return decision of the Link Adaptation algorithm or the fixed, predefined phymode
virtual SchedulerStatePtr getNewSchedulerState ()
 The strategies need a new state.
virtual SchedulerStatePtr getSchedulerState ()
 Get the scheduler state here.
wns::Power getTxPower () const
 helper method to support the old scheduler strategies.
virtual bool groupingRequired () const
virtual SchedulerStatePtr revolveSchedulerState (const StrategyInput &strategyInput)
 The state is revolved before a new doStartScheduling() call.
virtual StrategyResult startScheduling (const StrategyInput &StrategyInput)
 (for AP) determines the order of PDUs in the given full set of resources. calls doStartScheduling() of derived class.

Protected Attributes

struct
wns::scheduler::strategy::Strategy::Colleagues 
colleagues
struct
wns::scheduler::strategy::Strategy::Friends 
friends
wns::logger::Logger logger
 Logger.
wns::pyconfig::View pyConfig
 Python Config View.

Private Attributes

SchedulerStatePtr schedulerState

Classes

struct  Colleagues
struct  Friends


Detailed Description

Definition at line 89 of file Strategy.hpp.


Constructor & Destructor Documentation

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

Definition at line 37 of file Strategy.cpp.

Strategy::~Strategy (  )  [virtual]

Definition at line 81 of file Strategy.cpp.


Member Function Documentation

MapInfoEntryPtr Strategy::doAdaptiveResourceScheduling ( wns::scheduler::strategy::RequestForResource request,
wns::scheduler::SchedulingMapPtr  schedulingMap 
) [virtual]

Definition at line 558 of file Strategy.cpp.

wns::service::phy::phymode::PhyModeInterfacePtr Strategy::getBestPhyMode ( const wns::Ratio sinr  )  const [protected, virtual]

Definition at line 877 of file Strategy.cpp.

virtual dsastrategy::DSAStrategyInterface* wns::scheduler::strategy::Strategy::getDSAStrategy (  )  [inline, virtual]

Definition at line 141 of file Strategy.hpp.

MapInfoCollectionPtr Strategy::getMapInfo (  )  const [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 282 of file Strategy.cpp.

SchedulerStatePtr Strategy::getNewSchedulerState (  )  [protected, virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 249 of file Strategy.cpp.

wns::scheduler::PowerCapabilities Strategy::getPowerCapabilities ( const UserID  user  )  const [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 296 of file Strategy.cpp.

float Strategy::getResourceUsage (  )  const [virtual]

wns::scheduler::SchedulerSpotType Strategy::getSchedulerSpotType (  )  const [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 895 of file Strategy.cpp.

SchedulerStatePtr Strategy::getSchedulerState (  )  [protected, virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 275 of file Strategy.cpp.

wns::Power Strategy::getTxPower (  )  const [protected]

return info about txPower (in slave scheduling mode)

Definition at line 915 of file Strategy.cpp.

bool Strategy::groupingRequired (  )  const [protected, virtual]

Definition at line 964 of file Strategy.cpp.

virtual bool wns::scheduler::strategy::Strategy::isNewStrategy (  )  const [inline, virtual]

bool Strategy::isTx (  )  const [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 905 of file Strategy.cpp.

void Strategy::onColleaguesKnown (  )  [virtual]

SchedulerStatePtr Strategy::revolveSchedulerState ( const StrategyInput strategyInput  )  [protected, virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 264 of file Strategy.cpp.

void Strategy::setColleagues ( queue::QueueInterface _queue,
grouper::GroupingProviderInterface _grouper,
RegistryProxyInterface _registry,
wns::scheduler::harq::HARQInterface _harq 
) [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 120 of file Strategy.cpp.

void Strategy::setFriends ( wns::service::phy::ofdma::BFInterface  )  [virtual]

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 190 of file Strategy.cpp.

StrategyResult Strategy::startScheduling ( const StrategyInput StrategyInput  )  [protected, virtual]

Parameters:
StrategyInput contains parameters set by the caller.
Returns:
StrategyResult collection. All set inside.

Implements wns::scheduler::strategy::StrategyInterface.

Definition at line 374 of file Strategy.cpp.


Member Data Documentation

Definition at line 189 of file Strategy.hpp.

Definition at line 187 of file Strategy.hpp.

Definition at line 197 of file Strategy.hpp.


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

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