![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <scheduler/strategy/dsastrategy/DSAStrategy.hpp>


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::PhyModeMapperInterface * | phyModeMapper |
| phyModeMapper is required to get the dataRate of a PhyMode | |
Private Attributes | |
| std::string | dsastrategyName |
Classes | |
| struct | Colleagues |
Definition at line 44 of file DSAStrategy.hpp.
| 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.
| 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] |
Implements wns::scheduler::strategy::dsastrategy::DSAStrategyInterface.
Reimplemented in wns::scheduler::strategy::dsastrategy::BestCapacity, wns::scheduler::strategy::dsastrategy::BestChannel, wns::scheduler::strategy::dsastrategy::DSASlave, wns::scheduler::strategy::dsastrategy::FarFirst, wns::scheduler::strategy::dsastrategy::Fixed, wns::scheduler::strategy::dsastrategy::HighCwithHighI, wns::scheduler::strategy::dsastrategy::InterferenceCoordinatedSimple, wns::scheduler::strategy::dsastrategy::LinearFFirst, wns::scheduler::strategy::dsastrategy::NearbyFirst, and wns::scheduler::strategy::dsastrategy::Random.
Definition at line 73 of file DSAStrategy.cpp.
| void DSAStrategy::setColleagues | ( | RegistryProxyInterface * | _registry | ) | [virtual] |
Implements wns::scheduler::strategy::dsastrategy::DSAStrategyInterface.
Definition at line 53 of file DSAStrategy.cpp.
Definition at line 101 of file DSAStrategy.hpp.
struct wns::scheduler::strategy::dsastrategy::DSAStrategy::Colleagues wns::scheduler::strategy::dsastrategy::DSAStrategy::colleagues [protected] |
std::string wns::scheduler::strategy::dsastrategy::DSAStrategy::dsastrategyName [private] |
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.
wns::service::phy::phymode::PhyModeMapperInterface* wns::scheduler::strategy::dsastrategy::DSAStrategy::phyModeMapper [protected] |
Definition at line 105 of file DSAStrategy.hpp.
1.5.5