User Manual, Developers Guide and API Documentation

lte::timing::TimingScheduler Class Reference

The TimingScheduler takes care of the superframe timing by keeping a list of phases, for each of which an event is generated. The superframe start is notified periodically by a discrete event.

#include <timing/TimingScheduler.hpp>

Inheritance diagram for lte::timing::TimingScheduler:

Inheritance graph
[legend]
Collaboration diagram for lte::timing::TimingScheduler:

Collaboration graph
[legend]

List of all members.

Public Member Functions

bool canReceiveMapNow (const wns::service::dll::UnicastAddress &address)
 is the peer reachable now? -> Can the relay node receive the map?
void frameTrigger ()
int getNumberOfFramesToSchedule () const
int getSchedulingOffset () const
void initStationTaskPhases ()
 read in phases (before use of phaseNumber() functions)
bool isPeerListeningAt (const wns::service::dll::UnicastAddress &peerAddress, const int frameNr)
 to get info about inferior stations' availability
virtual void onAssociated (wns::service::dll::UnicastAddress userAdr, wns::service::dll::UnicastAddress dstAdr)
virtual void onDisassociated (wns::service::dll::UnicastAddress userAdr, wns::service::dll::UnicastAddress dstAdr)
void onMSRCreated ()
 To create events which have intra-fun dependencies.
void onWorldCreated ()
 get peer TimingScheduler in this phase
virtual void periodically ()
 SuperFrameStart - Periodically Interface from class PeriodicTimeout.
uint32_t phaseNumberAtFrame (int frameNr) const
 get phaseNumber at absolute frame number
uint32_t phaseNumberAtOffset (const simTimeType offset) const
 get phaseNumber at time offset, compared to now
lte::timing::StationTask stationTaskAtFrame (int frameNr) const
 same as stationTaskAtOffset but with parameter absolute frameNr
lte::timing::StationTask stationTaskAtOffset (const simTimeType offset) const
 used to find out whether we are in RAP or UT phase. Static for BS and UT, dynamic for RN. The offset is counted relative to the current simtime
void superFrameTrigger ()
 TimingScheduler (wns::ldk::ManagementServiceRegistry *msr, wns::pyconfig::View _config)
virtual ~TimingScheduler ()

Public Attributes

lte::timing::DuplexScheme duplex
 "TDD" or "FDD"
simTimeType switchingPointOffset
 for event SwitchingPoint

Private Types

typedef std::vector< TimingEventEventContainer
typedef
wns::container::Registry
< wns::service::dll::UnicastAddress,
EventContainer
PeerTiming
typedef
wns::container::Registry
< wns::service::dll::UnicastAddress,
TimingScheduler * > 
PeerTimingSchedulers
typedef std::vector
< StationTaskPhase
StationTaskPhaseContainer

Private Member Functions

void addPeerTimingScheduler (wns::service::dll::UnicastAddress peerAddress, TimingScheduler *_timingScheduler)
 Only used by AssociationDecision.
void readEvents (std::string viewName)
 Helper function to create the list of events. Needs to be re-called after alterations to the taskPhases.
void readStationTaskPhases (std::string viewName)
 Helper function to read a list of stationTaskPhases.
void removePeerTimingScheduler (wns::service::dll::UnicastAddress peerAddress)

Private Attributes

wns::pyconfig::View config
wns::events::scheduler::Interfacees
EventContainer eventContainer
simTimeType frameLength
int framesPerSuperFrame
struct
lte::timing::TimingScheduler::Friends 
friends
wns::ldk::fun::FUNfun
dll::ILayer2layer2
 get duplex group number (1=HD1,2=HD2) only to be used in RAP (BS|RN)!
wns::logger::Logger logger
int numberOfFramesToSchedule
PeerTiming peerTiming
PeerTimingSchedulers peerTimingSchedulers
int schedulingOffset
simTimeType startOfFirstFrame
StationTaskPhaseContainer stationTaskPhaseContainer
simTimeType superFrameLength
 for SuperFrame managing
simTimeType superFrameStartTime
 begin of current SuperFrame

Friends

class controlplane::associationHandler::AssociationHandler

Classes

struct  Friends
 friends are rlc, macg, phyUser. We need direct access to them More...
struct  StationTaskPhase
struct  TimingEvent
 for event scheduling More...


Detailed Description

Definition at line 103 of file TimingScheduler.hpp.


Member Typedef Documentation

Definition at line 193 of file TimingScheduler.hpp.

Definition at line 200 of file TimingScheduler.hpp.

Definition at line 201 of file TimingScheduler.hpp.

Definition at line 199 of file TimingScheduler.hpp.


Constructor & Destructor Documentation

TimingScheduler::TimingScheduler ( wns::ldk::ManagementServiceRegistry msr,
wns::pyconfig::View  _config 
)

Definition at line 52 of file TimingScheduler.cpp.

TimingScheduler::~TimingScheduler (  )  [virtual]

Definition at line 83 of file TimingScheduler.cpp.


Member Function Documentation

void TimingScheduler::addPeerTimingScheduler ( wns::service::dll::UnicastAddress  peerAddress,
TimingScheduler _timingScheduler 
) [private]

Definition at line 238 of file TimingScheduler.cpp.

bool TimingScheduler::canReceiveMapNow ( const wns::service::dll::UnicastAddress address  ) 

Definition at line 260 of file TimingScheduler.cpp.

void TimingScheduler::frameTrigger (  ) 

Definition at line 430 of file TimingScheduler.cpp.

int TimingScheduler::getNumberOfFramesToSchedule (  )  const

Definition at line 168 of file TimingScheduler.cpp.

int TimingScheduler::getSchedulingOffset (  )  const

Definition at line 162 of file TimingScheduler.cpp.

void TimingScheduler::initStationTaskPhases (  ) 

Definition at line 331 of file TimingScheduler.cpp.

bool TimingScheduler::isPeerListeningAt ( const wns::service::dll::UnicastAddress peerAddress,
const int  frameNr 
)

Definition at line 270 of file TimingScheduler.cpp.

void TimingScheduler::onAssociated ( wns::service::dll::UnicastAddress  userAdr,
wns::service::dll::UnicastAddress  dstAdr 
) [virtual]

Definition at line 379 of file TimingScheduler.cpp.

void TimingScheduler::onDisassociated ( wns::service::dll::UnicastAddress  userAdr,
wns::service::dll::UnicastAddress  dstAdr 
) [virtual]

Definition at line 368 of file TimingScheduler.cpp.

void TimingScheduler::onMSRCreated (  )  [virtual]

Reimplemented from wns::ldk::ManagementService.

Definition at line 93 of file TimingScheduler.cpp.

void TimingScheduler::onWorldCreated (  ) 

Definition at line 121 of file TimingScheduler.cpp.

void TimingScheduler::periodically (  )  [virtual]

Implements wns::events::PeriodicTimeout.

Definition at line 143 of file TimingScheduler.cpp.

uint32_t TimingScheduler::phaseNumberAtFrame ( int  frameNr  )  const

Definition at line 196 of file TimingScheduler.cpp.

uint32_t TimingScheduler::phaseNumberAtOffset ( const simTimeType  offset  )  const

Definition at line 215 of file TimingScheduler.cpp.

void TimingScheduler::readEvents ( std::string  viewName  )  [private]

Definition at line 281 of file TimingScheduler.cpp.

void TimingScheduler::readStationTaskPhases ( std::string  viewName  )  [private]

Definition at line 341 of file TimingScheduler.cpp.

void TimingScheduler::removePeerTimingScheduler ( wns::service::dll::UnicastAddress  peerAddress  )  [private]

Definition at line 245 of file TimingScheduler.cpp.

lte::timing::StationTask TimingScheduler::stationTaskAtFrame ( int  frameNr  )  const

Definition at line 174 of file TimingScheduler.cpp.

lte::timing::StationTask TimingScheduler::stationTaskAtOffset ( const simTimeType  offset  )  const

Definition at line 184 of file TimingScheduler.cpp.

void TimingScheduler::superFrameTrigger (  ) 

Definition at line 409 of file TimingScheduler.cpp.


Friends And Related Function Documentation

Definition at line 111 of file TimingScheduler.hpp.


Member Data Documentation

Definition at line 176 of file TimingScheduler.hpp.

Definition at line 231 of file TimingScheduler.hpp.

Definition at line 208 of file TimingScheduler.hpp.

Definition at line 203 of file TimingScheduler.hpp.

Definition at line 223 of file TimingScheduler.hpp.

Definition at line 226 of file TimingScheduler.hpp.

Definition at line 175 of file TimingScheduler.hpp.

Definition at line 174 of file TimingScheduler.hpp.

Definition at line 177 of file TimingScheduler.hpp.

Definition at line 225 of file TimingScheduler.hpp.

Definition at line 205 of file TimingScheduler.hpp.

Definition at line 206 of file TimingScheduler.hpp.

Definition at line 224 of file TimingScheduler.hpp.

Definition at line 222 of file TimingScheduler.hpp.

Definition at line 204 of file TimingScheduler.hpp.

Definition at line 185 of file TimingScheduler.hpp.

Definition at line 187 of file TimingScheduler.hpp.

Definition at line 229 of file TimingScheduler.hpp.


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

Generated on Sat May 26 03:32:35 2012 for openWNS by  doxygen 1.5.5