User Manual, Developers Guide and API Documentation

wimemac::convergence::ChannelState Class Reference

Summarizes the channel state information, using several indicators. More...

#include <convergence/ChannelState.hpp>

Inheritance diagram for wimemac::convergence::ChannelState:

Inheritance graph
[legend]
Collaboration diagram for wimemac::convergence::ChannelState:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ChannelState (wns::ldk::fun::FUN *fun, const wns::pyconfig::View &config)
void registerRSSObserver (wns::Observer< wns::service::phy::ofdma::CarrierSensing > *o)
void setCarrierSensingService (wns::service::Service *cs)
virtual ~ChannelState ()

Private Member Functions

virtual void checkNewCS ()
 Check if the ChannelState has changed and an indication to the observers is required.
virtual CS getCurrentChannelState () const
virtual void onFUNCreated ()
 Resolve inter-FU dependencies.
virtual void onRSSChange (wns::Power newRSS)
 Notification from PHY on RSS change.
void onRxEnd ()
void onRxError ()
void onRxStart (const wns::simulator::Time expRxDuration)
 observer RxStartEnd
void onTimeout ()
 canTimeoutInterface for all duration-based indicators
void onTxEnd (const wns::ldk::CompoundPtr &compound)
 Called when the transmission ends.
void onTxStart (const wns::ldk::CompoundPtr &compound)
 observer TxStartEnd
void periodically ()
 Implementation of periodic timeout to evaluate the probe(s).
void probeChannelBusy ()
 Small function for channel busy fraction probing.
void probeChannelIdle ()
void processIncoming (const wns::ldk::CompoundPtr &compound)
 Processor Interface Implementation.
void processOutgoing (const wns::ldk::CompoundPtr &compound)
 Process compounds on downlink.

Private Attributes

struct
wimemac::convergence::ChannelState::ActiveIndicators 
activeIndicators
wns::simulator::Time channelBusyFractionMeasurementPeriod
wns::probe::bus::ContextCollectorPtr channelBusyFractionProbe
 Probe the channel busy fraction.
wns::simulator::Time channelBusyLastChangeToBusy
wns::simulator::Time channelBusySlotStart
wns::simulator::Time channelBusyTime
wns::pyconfig::View config
const std::string crcCommandName
struct
wimemac::convergence::ChannelState::Friends 
friends
struct
wimemac::convergence::ChannelState::Indicators 
indicators
CS lastCS
 last channel state for comparison
wns::simulator::Time latestNAV
wns::logger::Logger logger
const std::string managerName
wns::service::phy::ofdma::NotificationmyCS
const wns::Power phyCarrierSenseThreshold
 if an OFDM transmission is detected above this threshold, the channel is occupied
const std::string phyUserCommandName
const wns::Power rawEnergyThreshold
 if the channel noise is above rawEnergyThreshold threshold, the channel is occupied
std::vector< wns::Observer
< wns::service::phy::ofdma::CarrierSensing > * > 
rssObservers
 units to be informed on RSS changes
const std::string rxStartEndName
const wns::simulator::Time sifsDuration
 Frame/IFS durations.
const std::string txStartEndName
bool waitForReply

Classes

struct  ActiveIndicators
 identifies which indicators are switched on or off More...
struct  Friends
struct  Indicators
 required data to remember & compare the channel state More...


Detailed Description

IEEE 802.11 defines the following channel state indicators:

Definition at line 84 of file ChannelState.hpp.


Constructor & Destructor Documentation

wimemac::convergence::ChannelState::ChannelState ( wns::ldk::fun::FUN fun,
const wns::pyconfig::View config 
)

virtual wimemac::convergence::ChannelState::~ChannelState (  )  [virtual]


Member Function Documentation

virtual void wimemac::convergence::ChannelState::checkNewCS (  )  [private, virtual]

virtual CS wimemac::convergence::ChannelState::getCurrentChannelState (  )  const [private, virtual]

virtual void wimemac::convergence::ChannelState::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.

virtual void wimemac::convergence::ChannelState::onRSSChange ( wns::Power  newRSS  )  [private, virtual]

void wimemac::convergence::ChannelState::onRxEnd (  )  [private, virtual]

void wimemac::convergence::ChannelState::onRxError (  )  [private, virtual]

void wimemac::convergence::ChannelState::onRxStart ( const wns::simulator::Time  expRxDuration  )  [private, virtual]

void wimemac::convergence::ChannelState::onTimeout (  )  [private, virtual]

void wimemac::convergence::ChannelState::onTxEnd ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

void wimemac::convergence::ChannelState::onTxStart ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

void wimemac::convergence::ChannelState::periodically (  )  [private, virtual]

void wimemac::convergence::ChannelState::probeChannelBusy (  )  [private]

void wimemac::convergence::ChannelState::probeChannelIdle (  )  [private]

void wimemac::convergence::ChannelState::processIncoming ( const wns::ldk::CompoundPtr compound  )  [private, virtual]

void wimemac::convergence::ChannelState::processOutgoing ( const wns::ldk::CompoundPtr  )  [private, virtual]

Override this method to handle outgoing compounds.

Implements wns::ldk::ProcessorInterface.

void wimemac::convergence::ChannelState::registerRSSObserver ( wns::Observer< wns::service::phy::ofdma::CarrierSensing > *  o  )  [inline]

Definition at line 106 of file ChannelState.hpp.

void wimemac::convergence::ChannelState::setCarrierSensingService ( wns::service::Service cs  ) 


Member Data Documentation

Definition at line 230 of file ChannelState.hpp.

Definition at line 229 of file ChannelState.hpp.

Definition at line 233 of file ChannelState.hpp.

Definition at line 232 of file ChannelState.hpp.

Definition at line 231 of file ChannelState.hpp.

Definition at line 149 of file ChannelState.hpp.

Definition at line 216 of file ChannelState.hpp.

Definition at line 206 of file ChannelState.hpp.

Definition at line 208 of file ChannelState.hpp.

Definition at line 150 of file ChannelState.hpp.

Definition at line 214 of file ChannelState.hpp.

Definition at line 235 of file ChannelState.hpp.

Definition at line 196 of file ChannelState.hpp.

Definition at line 215 of file ChannelState.hpp.

Definition at line 191 of file ChannelState.hpp.

Definition at line 153 of file ChannelState.hpp.

Definition at line 219 of file ChannelState.hpp.

Definition at line 224 of file ChannelState.hpp.

Definition at line 218 of file ChannelState.hpp.

Definition at line 210 of file ChannelState.hpp.


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

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