User Manual, Developers Guide and API Documentation

wns::scheduler::strategy::StrategyInterface Class Reference

provides methods used by ResourceSchedulers to access certain WNS scheduler strategies

#include <scheduler/strategy/StrategyInterface.hpp>

Inheritance diagram for wns::scheduler::strategy::StrategyInterface:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual MapInfoCollectionPtr getMapInfo () const =0
 returns member var bursts which is set in the derived strategies in doStartScheduling by bursts.push_back(currentBurst)
virtual
wns::scheduler::PowerCapabilities 
getPowerCapabilities (const UserID user) const =0
 retrieve info about a peer user's power capabilities (for master UL scheduling)
virtual float getResourceUsage () const =0
 obtain percentage of resources allocated during last round
virtual
wns::scheduler::SchedulerSpotType 
getSchedulerSpotType () const =0
 there are three positions for the scheduler. Only used in WinProSt.
virtual bool isNewStrategy () const =0
 indicates if strategy is of 'old' (before 2009) or 'new' type (>=2009). Used in assertions.
virtual bool isTx () const =0
 indicates type of ResourceScheduler (TX or RX). Only used in WinProSt.
virtual void onColleaguesKnown ()=0
 can be overloaded by derived classes to perform initialization code. The derived class should call this base class method first.
virtual void setColleagues (queue::QueueInterface *_queue, grouper::GroupingProviderInterface *_grouper, RegistryProxyInterface *_registry, wns::scheduler::harq::HARQInterface *_harq)=0
 called in specialized scheduler (WinProSt,WiMAC,...) for defining the objects which operate closely together: strategy,queues,spatialGrouper,registryProxy
virtual void setFriends (wns::service::phy::ofdma::BFInterface *)=0
 called in specialized scheduler (WinProSt,WiMAC,...) for defining friends
virtual StrategyResult startScheduling (const StrategyInput &StrategyInput)=0
 (for AP) determines the order of PDUs in the given full set of resources. calls doStartScheduling() of derived class.
virtual ~StrategyInterface ()

Protected Member Functions

virtual StrategyResult doStartScheduling (SchedulerStatePtr schedulerState, SchedulingMapPtr schedulingMap)=0
 (non-virtual-interface) called in startScheduling(..)
virtual SchedulerStatePtr getNewSchedulerState ()=0
 The strategies need a new state. Implement this in the derived classes.
virtual SchedulerStatePtr getSchedulerState ()=0
 Get the scheduler state here. Implement this in the derived classes.
virtual SchedulerStatePtr revolveSchedulerState (const StrategyInput &strategyInput)=0
 The state is revolved before a new doStartScheduling() call. Implement this in the derived classes.

Friends

class wns::scheduler::strategy::tests::StrategyTest


Detailed Description

Definition at line 245 of file StrategyInterface.hpp.


Constructor & Destructor Documentation

virtual wns::scheduler::strategy::StrategyInterface::~StrategyInterface (  )  [inline, virtual]

Definition at line 248 of file StrategyInterface.hpp.


Member Function Documentation

virtual StrategyResult wns::scheduler::strategy::StrategyInterface::doStartScheduling ( SchedulerStatePtr  schedulerState,
SchedulingMapPtr  schedulingMap 
) [protected, pure virtual]

Parameters:
SchedulerStatePtr schedulerState

Implemented in wns::scheduler::strategy::StaticPriority.

virtual MapInfoCollectionPtr wns::scheduler::strategy::StrategyInterface::getMapInfo (  )  const [pure virtual]

virtual SchedulerStatePtr wns::scheduler::strategy::StrategyInterface::getNewSchedulerState (  )  [protected, pure virtual]

virtual wns::scheduler::PowerCapabilities wns::scheduler::strategy::StrategyInterface::getPowerCapabilities ( const UserID  user  )  const [pure virtual]

virtual float wns::scheduler::strategy::StrategyInterface::getResourceUsage (  )  const [pure virtual]

virtual wns::scheduler::SchedulerSpotType wns::scheduler::strategy::StrategyInterface::getSchedulerSpotType (  )  const [pure virtual]

virtual SchedulerStatePtr wns::scheduler::strategy::StrategyInterface::getSchedulerState (  )  [protected, pure virtual]

virtual bool wns::scheduler::strategy::StrategyInterface::isNewStrategy (  )  const [pure virtual]

virtual bool wns::scheduler::strategy::StrategyInterface::isTx (  )  const [pure virtual]

virtual void wns::scheduler::strategy::StrategyInterface::onColleaguesKnown (  )  [pure virtual]

virtual SchedulerStatePtr wns::scheduler::strategy::StrategyInterface::revolveSchedulerState ( const StrategyInput strategyInput  )  [protected, pure virtual]

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

virtual void wns::scheduler::strategy::StrategyInterface::setFriends ( wns::service::phy::ofdma::BFInterface  )  [pure virtual]

virtual StrategyResult wns::scheduler::strategy::StrategyInterface::startScheduling ( const StrategyInput StrategyInput  )  [pure virtual]

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

Implemented in wns::scheduler::strategy::Strategy.


Friends And Related Function Documentation

friend class wns::scheduler::strategy::tests::StrategyTest [friend]

Definition at line 331 of file StrategyInterface.hpp.


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

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