User Manual, Developers Guide and API Documentation

wimemac::drp::DRPScheduler Class Reference

#include <drp/DRPScheduler.hpp>

Inheritance diagram for wimemac::drp::DRPScheduler:

Inheritance graph
[legend]
Collaboration diagram for wimemac::drp::DRPScheduler:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void Acknowledgment (wns::service::dll::UnicastAddress tx)
bool adjustMCSdown (wns::service::dll::UnicastAddress rx)
 Returns true if the PER is above the limit and the PhyMode should be set down.
bool doIsAccepting (const wns::ldk::CompoundPtr &compound) const
void doOnData (const wns::ldk::CompoundPtr &)
void doSendData (const wns::ldk::CompoundPtr &)
void doWakeup ()
 DRPScheduler (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config_)
void failedAck (wns::service::dll::UnicastAddress rx)
 To inform the scheduler about an unacknowledged compound so it can calculate the PER.
wimemac::management::BeaconBuildergetBeaconBuilder ()
wns::service::dll::UnicastAddress getCurrentTransmissionTarget ()
double getDesiredPER ()
 Returns maximum allowed PER.
int getIsDroppingAfterRetr ()
wimemac::lowerMAC::ManagergetManager ()
 Provides access to the manager for the helper classes.
wns::service::dll::UnicastAddress getNextReceiver () const
 returns receiver address of next compound (if any)
wns::simulator::Time getNextTransmissionDuration ()
 returns transmission duration of next compound (if any)
int getNumOfRetransmissions (const wns::ldk::CompoundPtr &compound)
 get the number of retransmissions for the specified compound
double getPatternPEROffset ()
 Returns offset added to pattern according to PER.
wimemac::convergence::PhyMode getPhyMode (wns::service::dll::UnicastAddress rx, int masNumber)
 Get the PhyMode for a transmission partner.
wns::simulator::Time getTimeUntilNextDRPReservation ()
bool isBeacon (const wns::ldk::CommandPool *commandPool) const
 Check if compound is a Beacon.
void onBPStart (wns::simulator::Time BPduration)
void onDRPStart ()
void onDRPStop ()
void RegisterDRPReservations (int thisMAS)
void RequestIE (wns::service::dll::UnicastAddress rx, wimemac::management::BeaconCommand::ProbeElementID elementID)
 call to request an IE from the specified address
void SendCompounds (wns::service::dll::UnicastAddress macaddress)
void SendCompounds ()
bool startPCAtransmission ()
 invokes a PCA transmission
void stopPCAtransmission ()
void TimeToTransmit (wns::service::dll::UnicastAddress macaddress, wns::simulator::Time duration)
void txOPCloseIn (wns::simulator::Time duration)
void UpdateDRPMap (Vector DRPMap)
 Updates the map of DRP reservations.
bool UpdateMapWithPeerAvailabilityMap (wns::service::dll::UnicastAddress rx, Vector &DRPMap)
 Updates a DRPMap with the non available slots for a specified address.
 ~DRPScheduler ()

Protected Member Functions

void onFUNCreated ()
 Resolve inter-FU dependencies.

Private Types

typedef std::map
< wns::service::dll::UnicastAddress,
TempSendBuffer * > 
SendBufferContainer

Private Member Functions

void onTimeout ()
 Your callback. Implement this.

Private Attributes

bool AccessPermission
wns::service::dll::UnicastAddress AccessRx
wns::service::dll::UnicastAddress ActivePCArx
const std::string beaconBuilderName
wns::pyconfig::View config
Vector currentDRPMap
Vector currentRegisterDRPMap
const std::string dcfName
helper::QueuesDRPQueues
struct
wimemac::drp::DRPScheduler::Friends 
friends
int isDroppingAfterRetr
bool isPCAtransmissionActive
wns::logger::Logger logger
const std::string managerName
double maxPER
wns::simulator::Time nextDRPReservationTime
double patternPEROffset
SendBufferContainer PCABuffer
bool PCAcompoundsWereSent
wns::probe::bus::ContextCollectorPtr pcaPortionProbe
wimemac::management::PERInformationBaseperMIB
const std::string perMIBServiceName
SendBufferContainer SendBuffer
const std::string txopName

Friends

class TempSendBuffer

Classes

struct  Friends


Detailed Description

Definition at line 130 of file DRPScheduler.hpp.


Member Typedef Documentation

Definition at line 238 of file DRPScheduler.hpp.


Constructor & Destructor Documentation

DRPScheduler::DRPScheduler ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config_ 
)

Definition at line 40 of file DRPScheduler.cpp.

DRPScheduler::~DRPScheduler (  ) 

Definition at line 68 of file DRPScheduler.cpp.


Member Function Documentation

void DRPScheduler::Acknowledgment ( wns::service::dll::UnicastAddress  tx  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 303 of file DRPScheduler.cpp.

bool DRPScheduler::adjustMCSdown ( wns::service::dll::UnicastAddress  rx  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 341 of file DRPScheduler.cpp.

bool DRPScheduler::doIsAccepting ( const wns::ldk::CompoundPtr compound  )  const

Definition at line 99 of file DRPScheduler.cpp.

void DRPScheduler::doOnData ( const wns::ldk::CompoundPtr compound  ) 

Definition at line 84 of file DRPScheduler.cpp.

void DRPScheduler::doSendData ( const wns::ldk::CompoundPtr compound  ) 

Definition at line 107 of file DRPScheduler.cpp.

void DRPScheduler::doWakeup (  ) 

Definition at line 180 of file DRPScheduler.cpp.

void DRPScheduler::failedAck ( wns::service::dll::UnicastAddress  rx  ) 

Definition at line 323 of file DRPScheduler.cpp.

wimemac::management::BeaconBuilder* wimemac::drp::DRPScheduler::getBeaconBuilder (  )  [inline]

Definition at line 167 of file DRPScheduler.hpp.

wns::service::dll::UnicastAddress DRPScheduler::getCurrentTransmissionTarget (  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 152 of file DRPScheduler.cpp.

double wimemac::drp::DRPScheduler::getDesiredPER (  )  [inline]

Definition at line 170 of file DRPScheduler.hpp.

int wimemac::drp::DRPScheduler::getIsDroppingAfterRetr (  )  [inline]

Definition at line 175 of file DRPScheduler.hpp.

wimemac::lowerMAC::Manager* wimemac::drp::DRPScheduler::getManager (  )  [inline]

Definition at line 164 of file DRPScheduler.hpp.

wns::service::dll::UnicastAddress DRPScheduler::getNextReceiver (  )  const [virtual]

Implements wimemac::lowerMAC::ITXOPWindow.

Definition at line 421 of file DRPScheduler.cpp.

wns::simulator::Time DRPScheduler::getNextTransmissionDuration (  )  [virtual]

Implements wimemac::lowerMAC::ITXOPWindow.

Definition at line 400 of file DRPScheduler.cpp.

int DRPScheduler::getNumOfRetransmissions ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 77 of file DRPScheduler.cpp.

double wimemac::drp::DRPScheduler::getPatternPEROffset (  )  [inline]

Definition at line 173 of file DRPScheduler.hpp.

wimemac::convergence::PhyMode DRPScheduler::getPhyMode ( wns::service::dll::UnicastAddress  rx,
int  masNumber 
)

Definition at line 296 of file DRPScheduler.cpp.

wns::simulator::Time DRPScheduler::getTimeUntilNextDRPReservation (  ) 

Definition at line 472 of file DRPScheduler.cpp.

bool DRPScheduler::isBeacon ( const wns::ldk::CommandPool commandPool  )  const

Definition at line 186 of file DRPScheduler.cpp.

void DRPScheduler::onBPStart ( wns::simulator::Time  BPduration  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 562 of file DRPScheduler.cpp.

void DRPScheduler::onDRPStart (  ) 

Definition at line 621 of file DRPScheduler.cpp.

void DRPScheduler::onDRPStop (  ) 

Definition at line 627 of file DRPScheduler.cpp.

void DRPScheduler::onFUNCreated (  )  [protected, virtual]

Often FunctionalUnits require the collaboration with other FunctionalUnits to accomplish their task. For the collaboration between FunctionalUnits we coined the term "friendship".

The onFUNCreated method is a hook being called after the complete FUN has been set up. FunctionalUnits requiring the collaboration with other FunctionalUnits should resolve these dependencies by implementing this hook accordingly.

Finding friends is usually done calling wns::ldk::fun::FUN::findFriend.

When building reconfigurable FUNs, this method may get called multiple times (e.g., after each FUN reconfiguration). Keep that in mind when allocating resources in your onFUNCreated implementation.

Reimplemented from wns::ldk::FunctionalUnit.

Definition at line 165 of file DRPScheduler.cpp.

void DRPScheduler::onTimeout (  )  [private, virtual]

The deriver is forced to implement this method. It gets called, whenever the timer fires.

Implements wns::events::CanTimeout.

Definition at line 378 of file DRPScheduler.cpp.

void DRPScheduler::RegisterDRPReservations ( int  thisMAS  ) 

Definition at line 512 of file DRPScheduler.cpp.

void DRPScheduler::RequestIE ( wns::service::dll::UnicastAddress  rx,
wimemac::management::BeaconCommand::ProbeElementID  elementID 
)

Definition at line 371 of file DRPScheduler.cpp.

void DRPScheduler::SendCompounds ( wns::service::dll::UnicastAddress  macaddress  ) 

Definition at line 230 of file DRPScheduler.cpp.

void wimemac::drp::DRPScheduler::SendCompounds (  ) 

bool DRPScheduler::startPCAtransmission (  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 427 of file DRPScheduler.cpp.

void DRPScheduler::stopPCAtransmission (  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 576 of file DRPScheduler.cpp.

void DRPScheduler::TimeToTransmit ( wns::service::dll::UnicastAddress  macaddress,
wns::simulator::Time  duration 
) [virtual]

Implements wimemac::helper::IDRPQueueInterface.

Definition at line 195 of file DRPScheduler.cpp.

void DRPScheduler::txOPCloseIn ( wns::simulator::Time  duration  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 612 of file DRPScheduler.cpp.

void DRPScheduler::UpdateDRPMap ( Vector  DRPMap  )  [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 499 of file DRPScheduler.cpp.

bool DRPScheduler::UpdateMapWithPeerAvailabilityMap ( wns::service::dll::UnicastAddress  rx,
Vector DRPMap 
) [virtual]

Implements wimemac::drp::IDRPSchedulerServices.

Definition at line 365 of file DRPScheduler.cpp.


Friends And Related Function Documentation

friend class TempSendBuffer [friend]

Definition at line 140 of file DRPScheduler.hpp.


Member Data Documentation

Definition at line 252 of file DRPScheduler.hpp.

Definition at line 253 of file DRPScheduler.hpp.

Definition at line 243 of file DRPScheduler.hpp.

const std::string wimemac::drp::DRPScheduler::beaconBuilderName [private]

Definition at line 260 of file DRPScheduler.hpp.

Definition at line 237 of file DRPScheduler.hpp.

Definition at line 244 of file DRPScheduler.hpp.

Definition at line 245 of file DRPScheduler.hpp.

const std::string wimemac::drp::DRPScheduler::dcfName [private]

Definition at line 258 of file DRPScheduler.hpp.

Definition at line 236 of file DRPScheduler.hpp.

Definition at line 240 of file DRPScheduler.hpp.

Definition at line 241 of file DRPScheduler.hpp.

Definition at line 235 of file DRPScheduler.hpp.

const std::string wimemac::drp::DRPScheduler::managerName [private]

Definition at line 257 of file DRPScheduler.hpp.

Definition at line 255 of file DRPScheduler.hpp.

Definition at line 247 of file DRPScheduler.hpp.

Definition at line 256 of file DRPScheduler.hpp.

Definition at line 250 of file DRPScheduler.hpp.

Definition at line 242 of file DRPScheduler.hpp.

Definition at line 264 of file DRPScheduler.hpp.

Definition at line 263 of file DRPScheduler.hpp.

const std::string wimemac::drp::DRPScheduler::perMIBServiceName [private]

Definition at line 261 of file DRPScheduler.hpp.

Definition at line 249 of file DRPScheduler.hpp.

const std::string wimemac::drp::DRPScheduler::txopName [private]

Definition at line 259 of file DRPScheduler.hpp.


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

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