User Manual, Developers Guide and API Documentation

wifimac::draftn::RTSCTSwithFLA Class Reference

Combination of Fast Link Adaptation and RTS/CTS frame exchange.

#include <draftn/RTSCTSwithFLA.hpp>

Inheritance diagram for wifimac::draftn::RTSCTSwithFLA:

Inheritance graph
[legend]
Collaboration diagram for wifimac::draftn::RTSCTSwithFLA:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void calculateSizes (const wns::ldk::CommandPool *commandPool, Bit &commandPoolSize, Bit &dataSize) const
 SDU and PCI size calculation.
void onNAVBusy (const wns::service::dll::UnicastAddress setter)
void onNAVIdle ()
void onRxEnd ()
void onRxError ()
void onRxStart (wns::simulator::Time expRxTime)
void onTxEnd (const wns::ldk::CompoundPtr &compound)
 Called when the transmission ends.
void onTxStart (const wns::ldk::CompoundPtr &compound)
 Called when the transmission starts.
 RTSCTSwithFLA (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
virtual ~RTSCTSwithFLA ()

Private Types

enum  RTSCTSState {
  idle, transmitRTS, waitForCTS, receiveCTS,
  receptionFinished
}

Private Member Functions

wns::ldk::CompoundPtr getSomethingToSend ()
 Return the PDU that is ready to be sent.
bool hasCapacity () const
 Return true, if the FunctionalUnit is still accepting compounds.
const wns::ldk::CompoundPtr hasSomethingToSend () const
 Return a PDU that is ready to be sent or NULL, if none available.
void onFUNCreated ()
 Resolve inter-FU dependencies.
void onTimeout ()
 CanTimeout interface.
wns::ldk::CompoundPtr prepareCTS (const wns::ldk::CompoundPtr &rts)
wns::ldk::CompoundPtr prepareRTS (const wns::ldk::CompoundPtr &mpdu)
void processIncoming (const wns::ldk::CompoundPtr &compound)
 Delayed Interface.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Process compounds on downlink.

Private Attributes

const std::string arqName
const Bit ctsBits
wns::simulator::Time ctsPrepared
const wns::simulator::Time ctsTimeout
const wns::simulator::Time estimatedValidity
struct
wifimac::draftn::RTSCTSwithFLA::Friends 
friends
wns::simulator::Time lastTimeout
wns::logger::Logger logger
const std::string managerName
const wns::simulator::Time maximumACKDuration
const wns::simulator::Time maximumCTSDuration
bool nav
const std::string navName
wns::service::dll::UnicastAddress navSetter
wns::ldk::CompoundPtr pendingCTS
wns::ldk::CompoundPtr pendingMPDU
wns::ldk::CompoundPtr pendingRTS
const std::string phyUserName
const wns::simulator::Time preambleProcessingDelay
wifimac::management::ProtocolCalculatorprotocolCalculator
const std::string protocolCalculatorName
const std::string raName
const Bit rtsBits
const bool rtsctsOnTxopData
const wifimac::convergence::PhyMode rtsctsPhyMode
const Bit rtsctsThreshold
wns::probe::bus::ContextCollectorPtr rtsSuccessProbe
const std::string rxsName
const wns::simulator::Time sifsDuration
 Duration of the Short InterFrame Space.
wifimac::draftn::SINRwithMIMOInformationBasesinrMIB
const std::string sinrMIBServiceName
enum
wifimac::draftn::RTSCTSwithFLA::RTSCTSState 
state
const std::string txStartEndName

Classes

struct  Friends


Detailed Description

Definition at line 89 of file RTSCTSwithFLA.hpp.


Member Enumeration Documentation

Enumerator:
idle 
transmitRTS 
waitForCTS 
receiveCTS 
receptionFinished 

Definition at line 196 of file RTSCTSwithFLA.hpp.


Constructor & Destructor Documentation

RTSCTSwithFLA::RTSCTSwithFLA ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

Definition at line 49 of file RTSCTSwithFLA.cpp.

RTSCTSwithFLA::~RTSCTSwithFLA (  )  [virtual]

Definition at line 108 of file RTSCTSwithFLA.cpp.


Member Function Documentation

void RTSCTSwithFLA::calculateSizes ( const wns::ldk::CommandPool commandPool,
Bit commandPoolSize,
Bit dataSize 
) const [virtual]

Implements wns::ldk::CommandTypeSpecifierInterface.

Definition at line 601 of file RTSCTSwithFLA.cpp.

wns::ldk::CompoundPtr RTSCTSwithFLA::getSomethingToSend (  )  [private, virtual]

This method must never return NULL. This method will only be called after a call to hasSomethingToSend returned a non-null value. The FunctionalUnit must return the same PDU as returned by hasSomethingToSend.

Implements wns::ldk::DelayedInterface.

Definition at line 332 of file RTSCTSwithFLA.cpp.

bool RTSCTSwithFLA::hasCapacity (  )  const [private, virtual]

While hasCapacity returns false, processIncoming will never be called.

Implements wns::ldk::DelayedInterface.

Definition at line 362 of file RTSCTSwithFLA.cpp.

const wns::ldk::CompoundPtr RTSCTSwithFLA::hasSomethingToSend (  )  const [private, virtual]

Implements wns::ldk::DelayedInterface.

Definition at line 312 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onFUNCreated (  )  [private, 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 112 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onNAVBusy ( const wns::service::dll::UnicastAddress  setter  )  [virtual]

Implements wifimac::convergence::INetworkAllocationVector.

Definition at line 438 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onNAVIdle (  )  [virtual]

Implements wifimac::convergence::INetworkAllocationVector.

Definition at line 445 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onRxEnd (  )  [virtual]

Implements wifimac::convergence::IRxStartEnd.

Definition at line 406 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onRxError (  )  [virtual]

Implements wifimac::convergence::IRxStartEnd.

Definition at line 421 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onRxStart ( wns::simulator::Time  expRxTime  )  [virtual]

Implements wifimac::convergence::IRxStartEnd.

Definition at line 392 of file RTSCTSwithFLA.cpp.

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

Implements wns::events::CanTimeout.

Definition at line 452 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onTxEnd ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wifimac::convergence::ITxStartEnd.

Definition at line 374 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::onTxStart ( const wns::ldk::CompoundPtr compound  )  [virtual]

Implements wifimac::convergence::ITxStartEnd.

Definition at line 368 of file RTSCTSwithFLA.cpp.

wns::ldk::CompoundPtr RTSCTSwithFLA::prepareCTS ( const wns::ldk::CompoundPtr rts  )  [private]

Definition at line 520 of file RTSCTSwithFLA.cpp.

wns::ldk::CompoundPtr RTSCTSwithFLA::prepareRTS ( const wns::ldk::CompoundPtr mpdu  )  [private]

Definition at line 479 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::processIncoming ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

Implements wns::ldk::DelayedInterface.

Definition at line 138 of file RTSCTSwithFLA.cpp.

void RTSCTSwithFLA::processOutgoing ( const wns::ldk::CompoundPtr  )  [private, virtual]

Override this method to handle outgoing compounds.

Implements wns::ldk::DelayedInterface.

Definition at line 271 of file RTSCTSwithFLA.cpp.


Member Data Documentation

const std::string wifimac::draftn::RTSCTSwithFLA::arqName [private]

Definition at line 152 of file RTSCTSwithFLA.hpp.

Definition at line 172 of file RTSCTSwithFLA.hpp.

Definition at line 205 of file RTSCTSwithFLA.hpp.

Definition at line 167 of file RTSCTSwithFLA.hpp.

Definition at line 159 of file RTSCTSwithFLA.hpp.

Definition at line 206 of file RTSCTSwithFLA.hpp.

Definition at line 179 of file RTSCTSwithFLA.hpp.

const std::string wifimac::draftn::RTSCTSwithFLA::managerName [private]

Definition at line 151 of file RTSCTSwithFLA.hpp.

Definition at line 164 of file RTSCTSwithFLA.hpp.

Definition at line 165 of file RTSCTSwithFLA.hpp.

Definition at line 176 of file RTSCTSwithFLA.hpp.

const std::string wifimac::draftn::RTSCTSwithFLA::navName [private]

Definition at line 153 of file RTSCTSwithFLA.hpp.

Definition at line 177 of file RTSCTSwithFLA.hpp.

Definition at line 182 of file RTSCTSwithFLA.hpp.

Definition at line 183 of file RTSCTSwithFLA.hpp.

Definition at line 181 of file RTSCTSwithFLA.hpp.

const std::string wifimac::draftn::RTSCTSwithFLA::phyUserName [private]

Definition at line 149 of file RTSCTSwithFLA.hpp.

Definition at line 166 of file RTSCTSwithFLA.hpp.

Definition at line 186 of file RTSCTSwithFLA.hpp.

Definition at line 156 of file RTSCTSwithFLA.hpp.

const std::string wifimac::draftn::RTSCTSwithFLA::raName [private]

Definition at line 150 of file RTSCTSwithFLA.hpp.

Definition at line 171 of file RTSCTSwithFLA.hpp.

Definition at line 174 of file RTSCTSwithFLA.hpp.

Definition at line 169 of file RTSCTSwithFLA.hpp.

Definition at line 173 of file RTSCTSwithFLA.hpp.

Definition at line 208 of file RTSCTSwithFLA.hpp.

const std::string wifimac::draftn::RTSCTSwithFLA::rxsName [private]

Definition at line 154 of file RTSCTSwithFLA.hpp.

Definition at line 162 of file RTSCTSwithFLA.hpp.

Definition at line 185 of file RTSCTSwithFLA.hpp.

Definition at line 157 of file RTSCTSwithFLA.hpp.

Definition at line 155 of file RTSCTSwithFLA.hpp.


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

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