![]() |
User Manual, Developers Guide and API Documentation |
![]() |
#include <timing/ResourceScheduler.hpp>


Public Member Functions | |
| void | closeMapOutput () |
| void | evaluateMap (wns::scheduler::SchedulingMapPtr schedulingMap, int frameNr) |
| int | getPartitionGroup () |
| MapHandler needs to find out the group for partitioning. | |
| virtual void | onAssociated (wns::service::dll::UnicastAddress userAdr, wns::service::dll::UnicastAddress dstAdr)=0 |
| AssociationObserver interface. | |
| virtual void | onDisassociated (wns::service::dll::UnicastAddress userAdr, wns::service::dll::UnicastAddress dstAdr)=0 |
| AssociationObserver interface. | |
| virtual void | onFlowReleased (wns::service::dll::FlowID flowId, wns::scheduler::UserID user) |
| virtual void | onFUNCreated () |
| Handle Intra-FUN dependencies and create colleagues - Get pointer to rlc, macg, phyUser Make object instances for the following helper classes: create (a) grouper create (b) queues create (c) the scheduling strategy handle colleagues (the objects a-c above). | |
| void | prepareMapOutput () |
| get+write statistics for prepared maps (on BS side | |
| virtual void | resetHARQScheduledPeerRetransmissions () |
| ResourceScheduler (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config) | |
| virtual void | sendPendingHARQFeedback () |
| virtual | ~ResourceScheduler () |
CompoundHandlerInterface | |
| virtual bool | doIsAccepting (const wns::ldk::CompoundPtr &compound) const |
| upper FU asks this, whether SendData may be called | |
| virtual void | doOnData (const wns::ldk::CompoundPtr &compound) |
| lower FU wants to deliver us a PDU (compound), reception | |
| virtual void | doSendData (const wns::ldk::CompoundPtr &compound) |
| upper FU wants to give us a PDU (compound) for transmission the compound is then put into colleagues.queue | |
| virtual void | doWakeup () |
| upper FU is notified that we have space again for new PDUs | |
| void | postDecoding (const wns::ldk::CompoundPtr compound) |
| Called 3ms after doOnData received data, to model decoding delay. | |
implementation of Scheduler Interface | |
| void | finishCollection (int frameNr, simTimeType _startTime) |
| dequeue pdu=compounds from scheduledCompounds and send them downstack using sendData(pdu); startCollection = make scheduling decisions, finishCollection = send scheduled PDUs | |
MapInfoProviderInterface | |
| wns::scheduler::SchedulingMapPtr | getSchedulingMap (int frameNr) const |
| return the SchedulingMap resulting from the scheduling performed by colleagues.strategy. Called by MapHandler in Lte. | |
implementation of SchedulerFUInterface | |
| virtual void | onNodeCreated () |
| in ILayer2::onNodeCreated() the handle for the PHY service is set here; This is done for resourceScheduler and resourceSchedulerRX | |
ScorerInterface | |
| virtual lte::helper::Route | score (const wns::ldk::CompoundPtr &compound) |
| Implementation of ScorerInterface, forwarding to internal Scorer member. | |
Protected Member Functions | |
| virtual void | applyPowerLimitation (wns::scheduler::SchedulingMapPtr) |
| virtual void | deliverReceived () |
| void | deliverSchedulingTimeSlot (bool canBeDecoded, const wns::scheduler::SchedulingTimeSlotPtr &schedulingTimeSlot, wns::service::phy::power::PowerMeasurementPtr &, int subband) |
| Unpack a SchedulingTimeSlotPtr and send its contents to upper layers. | |
| void | probeResourceUsage (wns::scheduler::SchedulingMapPtr schedulingMap) |
| void | startCollection (int frameNr, simTimeType duration) |
| Starts the scheduling. | |
Protected Attributes | |
| dll::services::control::Association * | associationService |
| bool | beamforming |
| beamforming on/off | |
| struct lte::timing::ResourceScheduler::Colleagues | colleagues |
| int | framesPerSuperFrame |
| usually 5..20 frames make one superframe | |
| unsigned int | freqChannels |
| size of resources in frequency-direction | |
| struct lte::timing::ResourceScheduler::Friends | friends |
| bool | IamUplinkMaster |
| Master scheduler for DL or UL? true only for RS-RX. Set in Python. | |
| dll::ILayer2 * | layer2 |
| wns::logger::Logger | logger |
| std::ofstream * | mapFile |
| std::string | mapOutputFileName |
| unsigned int | maxBeams |
| size of resources in spatial direction. This can be beamforming beams (available for WiMAC) or MIMO paths (not yet available). | |
| wns::Power | maxTxPower |
| unsigned int | numberOfTimeSlots |
| numer of slots in one frame (TDMA component) | |
| int | partitionGroup |
| Indicates to which group this scheduler belongs taken from PyConfig. | |
| wns::pyconfig::View | pyConfig |
| Python Config View. | |
| wns::scheduler::harq::HARQInterface::DecodeStatusContainer | receivedNonHARQTimeslots_ |
| wns::probe::bus::ContextCollectorPtr | resUsageProbe_ |
| probe to record ratio of used resources | |
| wns::scheduler::SchedulerSpotType | schedulerSpot |
| there are three positions for the scheduler... | |
| wns::scheduler::strategy::StrategyResultHistory | schedulingResultOfFrame |
| the scheduling result is stored here for each frame [0..9] | |
| lte::macr::Scorer | scorer |
| member providing the scoring for outgoing compounds | |
| simTimeType | slotDuration |
| size of resources in time-direction | |
| long int | transportBlockCounter |
| bool | writeMapOutput |
| output file names | |
Private Types | |
| typedef std::list < wns::ldk::CompoundPtr > | CompoundList |
| typedef std::map < wns::service::dll::UnicastAddress, wns::service::dll::UnicastAddress > | SeenTable |
| the SeenTable is a dataStructure to support Layer2-Routing in the Multihop case. It relates the DLL address of a packet's original sender to the DLL address of the sender we actually received it from. | |
Friends | |
| class | controlplane::associationHandler::AssociationHandlerBS |
Classes | |
| struct | Colleagues |
| colleagues are objects that are no FU themselves but helpers More... | |
| struct | Friends |
| friend classes. We need direct access to them. More... | |
Definition at line 72 of file ResourceScheduler.hpp.
typedef std::list<wns::ldk::CompoundPtr> lte::timing::ResourceScheduler::CompoundList [private] |
Definition at line 93 of file ResourceScheduler.hpp.
typedef std::map<wns::service::dll::UnicastAddress, wns::service::dll::UnicastAddress> lte::timing::ResourceScheduler::SeenTable [private] |
Definition at line 91 of file ResourceScheduler.hpp.
| ResourceScheduler::ResourceScheduler | ( | wns::ldk::fun::FUN * | fun, | |
| const wns::pyconfig::View & | config | |||
| ) |
Definition at line 53 of file ResourceScheduler.cpp.
| ResourceScheduler::~ResourceScheduler | ( | ) | [virtual] |
Definition at line 97 of file ResourceScheduler.cpp.
| void ResourceScheduler::applyPowerLimitation | ( | wns::scheduler::SchedulingMapPtr | schedulingMap | ) | [protected, virtual] |
Definition at line 884 of file ResourceScheduler.cpp.
| void ResourceScheduler::closeMapOutput | ( | ) |
Definition at line 995 of file ResourceScheduler.cpp.
| void ResourceScheduler::deliverReceived | ( | ) | [protected, virtual] |
| void ResourceScheduler::deliverSchedulingTimeSlot | ( | bool | canBeDecoded, | |
| const wns::scheduler::SchedulingTimeSlotPtr & | schedulingTimeSlot, | |||
| wns::service::phy::power::PowerMeasurementPtr & | phyMeasurement, | |||
| int | subband | |||
| ) | [protected] |
Definition at line 291 of file ResourceScheduler.cpp.
| bool ResourceScheduler::doIsAccepting | ( | const wns::ldk::CompoundPtr & | compound | ) | const [virtual] |
Definition at line 277 of file ResourceScheduler.cpp.
| void ResourceScheduler::doOnData | ( | const wns::ldk::CompoundPtr & | compound | ) | [virtual] |
Definition at line 385 of file ResourceScheduler.cpp.
| void ResourceScheduler::doSendData | ( | const wns::ldk::CompoundPtr & | compound | ) | [virtual] |
Definition at line 284 of file ResourceScheduler.cpp.
| void ResourceScheduler::doWakeup | ( | ) | [virtual] |
Definition at line 442 of file ResourceScheduler.cpp.
| void ResourceScheduler::evaluateMap | ( | wns::scheduler::SchedulingMapPtr | schedulingMap, | |
| int | frameNr | |||
| ) |
Definition at line 979 of file ResourceScheduler.cpp.
| void ResourceScheduler::finishCollection | ( | int | frameNr, | |
| simTimeType | _startTime | |||
| ) | [virtual] |
| int lte::timing::ResourceScheduler::getPartitionGroup | ( | ) |
Definition at line 118 of file ResourceScheduler.cpp.
| wns::scheduler::SchedulingMapPtr ResourceScheduler::getSchedulingMap | ( | int | frameNr | ) | const [virtual] |
Implements wns::scheduler::SchedulingMapProviderInterface.
Definition at line 447 of file ResourceScheduler.cpp.
| virtual void lte::timing::ResourceScheduler::onAssociated | ( | wns::service::dll::UnicastAddress | userAdr, | |
| wns::service::dll::UnicastAddress | dstAdr | |||
| ) | [pure virtual] |
Implemented in lte::timing::ResourceSchedulerBS, and lte::timing::ResourceSchedulerUT.
| virtual void lte::timing::ResourceScheduler::onDisassociated | ( | wns::service::dll::UnicastAddress | userAdr, | |
| wns::service::dll::UnicastAddress | dstAdr | |||
| ) | [pure virtual] |
Implemented in lte::timing::ResourceSchedulerBS, and lte::timing::ResourceSchedulerUT.
| void ResourceScheduler::onFlowReleased | ( | wns::service::dll::FlowID | flowId, | |
| wns::scheduler::UserID | user | |||
| ) | [virtual] |
Definition at line 269 of file ResourceScheduler.cpp.
| void ResourceScheduler::onFUNCreated | ( | ) | [virtual] |
Reimplemented from wns::ldk::FunctionalUnit.
Reimplemented in lte::timing::ResourceSchedulerBS, and lte::timing::ResourceSchedulerUT.
Definition at line 125 of file ResourceScheduler.cpp.
| void ResourceScheduler::onNodeCreated | ( | ) | [virtual] |
Implements lte::timing::SchedulerFUInterface.
Definition at line 258 of file ResourceScheduler.cpp.
| void ResourceScheduler::postDecoding | ( | const wns::ldk::CompoundPtr | compound | ) |
Definition at line 400 of file ResourceScheduler.cpp.
| void ResourceScheduler::prepareMapOutput | ( | ) |
Definition at line 965 of file ResourceScheduler.cpp.
| void ResourceScheduler::probeResourceUsage | ( | wns::scheduler::SchedulingMapPtr | schedulingMap | ) | [protected] |
Definition at line 845 of file ResourceScheduler.cpp.
| void ResourceScheduler::resetHARQScheduledPeerRetransmissions | ( | ) | [virtual] |
Reimplemented in lte::timing::ResourceSchedulerBS.
Definition at line 943 of file ResourceScheduler.cpp.
| lte::helper::Route ResourceScheduler::score | ( | const wns::ldk::CompoundPtr & | compound | ) | [virtual] |
| void ResourceScheduler::sendPendingHARQFeedback | ( | ) | [virtual] |
| void ResourceScheduler::startCollection | ( | int | frameNr, | |
| simTimeType | duration | |||
| ) | [protected] |
Definition at line 458 of file ResourceScheduler.cpp.
friend class controlplane::associationHandler::AssociationHandlerBS [friend] |
Definition at line 83 of file ResourceScheduler.hpp.
to associationService, to query about associations
Definition at line 270 of file ResourceScheduler.hpp.
bool lte::timing::ResourceScheduler::beamforming [protected] |
Definition at line 341 of file ResourceScheduler.hpp.
struct lte::timing::ResourceScheduler::Colleagues lte::timing::ResourceScheduler::colleagues [protected] |
Definition at line 313 of file ResourceScheduler.hpp.
unsigned int lte::timing::ResourceScheduler::freqChannels [protected] |
Definition at line 323 of file ResourceScheduler.hpp.
struct lte::timing::ResourceScheduler::Friends lte::timing::ResourceScheduler::friends [protected] |
bool lte::timing::ResourceScheduler::IamUplinkMaster [protected] |
Definition at line 373 of file ResourceScheduler.hpp.
dll::ILayer2* lte::timing::ResourceScheduler::layer2 [protected] |
Definition at line 265 of file ResourceScheduler.hpp.
Definition at line 263 of file ResourceScheduler.hpp.
std::ofstream* lte::timing::ResourceScheduler::mapFile [protected] |
Definition at line 382 of file ResourceScheduler.hpp.
std::string lte::timing::ResourceScheduler::mapOutputFileName [protected] |
Definition at line 380 of file ResourceScheduler.hpp.
unsigned int lte::timing::ResourceScheduler::maxBeams [protected] |
Definition at line 336 of file ResourceScheduler.hpp.
wns::Power lte::timing::ResourceScheduler::maxTxPower [protected] |
Definition at line 388 of file ResourceScheduler.hpp.
unsigned int lte::timing::ResourceScheduler::numberOfTimeSlots [protected] |
Definition at line 329 of file ResourceScheduler.hpp.
int lte::timing::ResourceScheduler::partitionGroup [protected] |
Definition at line 347 of file ResourceScheduler.hpp.
Definition at line 261 of file ResourceScheduler.hpp.
wns::scheduler::harq::HARQInterface::DecodeStatusContainer lte::timing::ResourceScheduler::receivedNonHARQTimeslots_ [protected] |
Definition at line 386 of file ResourceScheduler.hpp.
Definition at line 362 of file ResourceScheduler.hpp.
Definition at line 367 of file ResourceScheduler.hpp.
wns::scheduler::strategy::StrategyResultHistory lte::timing::ResourceScheduler::schedulingResultOfFrame [protected] |
Definition at line 352 of file ResourceScheduler.hpp.
Definition at line 357 of file ResourceScheduler.hpp.
Definition at line 318 of file ResourceScheduler.hpp.
long int lte::timing::ResourceScheduler::transportBlockCounter [protected] |
Definition at line 384 of file ResourceScheduler.hpp.
bool lte::timing::ResourceScheduler::writeMapOutput [protected] |
Definition at line 378 of file ResourceScheduler.hpp.
1.5.5