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


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::Notification * | myCS |
| 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... | |
Definition at line 84 of file ChannelState.hpp.
| wimemac::convergence::ChannelState::ChannelState | ( | wns::ldk::fun::FUN * | fun, | |
| const wns::pyconfig::View & | config | |||
| ) |
| virtual wimemac::convergence::ChannelState::~ChannelState | ( | ) | [virtual] |
| 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] |
Implements wns::service::phy::ofdma::RSSHandler.
| void wimemac::convergence::ChannelState::onRxEnd | ( | ) | [private, virtual] |
Implements wimemac::convergence::IRxStartEnd.
| void wimemac::convergence::ChannelState::onRxError | ( | ) | [private, virtual] |
Implements wimemac::convergence::IRxStartEnd.
| void wimemac::convergence::ChannelState::onRxStart | ( | const wns::simulator::Time | expRxDuration | ) | [private, virtual] |
Implements wimemac::convergence::IRxStartEnd.
| void wimemac::convergence::ChannelState::onTimeout | ( | ) | [private, virtual] |
Implements wns::events::CanTimeout.
| void wimemac::convergence::ChannelState::onTxEnd | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
Implements wimemac::convergence::ITxStartEnd.
| void wimemac::convergence::ChannelState::onTxStart | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
Implements wimemac::convergence::ITxStartEnd.
| void wimemac::convergence::ChannelState::periodically | ( | ) | [private, virtual] |
Implements wns::events::PeriodicTimeout.
| void wimemac::convergence::ChannelState::probeChannelBusy | ( | ) | [private] |
| void wimemac::convergence::ChannelState::probeChannelIdle | ( | ) | [private] |
| void wimemac::convergence::ChannelState::processIncoming | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
Implements wns::ldk::ProcessorInterface.
| 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 | ) |
struct wimemac::convergence::ChannelState::ActiveIndicators wimemac::convergence::ChannelState::activeIndicators [private] |
wns::simulator::Time wimemac::convergence::ChannelState::channelBusyFractionMeasurementPeriod [private] |
Definition at line 230 of file ChannelState.hpp.
wns::probe::bus::ContextCollectorPtr wimemac::convergence::ChannelState::channelBusyFractionProbe [private] |
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.
const std::string wimemac::convergence::ChannelState::crcCommandName [private] |
Definition at line 216 of file ChannelState.hpp.
struct wimemac::convergence::ChannelState::Friends wimemac::convergence::ChannelState::friends [private] |
struct wimemac::convergence::ChannelState::Indicators wimemac::convergence::ChannelState::indicators [private] |
CS wimemac::convergence::ChannelState::lastCS [private] |
Definition at line 206 of file ChannelState.hpp.
Definition at line 208 of file ChannelState.hpp.
Definition at line 150 of file ChannelState.hpp.
const std::string wimemac::convergence::ChannelState::managerName [private] |
Definition at line 214 of file ChannelState.hpp.
Definition at line 235 of file ChannelState.hpp.
Definition at line 196 of file ChannelState.hpp.
const std::string wimemac::convergence::ChannelState::phyUserCommandName [private] |
Definition at line 215 of file ChannelState.hpp.
const wns::Power wimemac::convergence::ChannelState::rawEnergyThreshold [private] |
Definition at line 191 of file ChannelState.hpp.
std::vector<wns::Observer<wns::service::phy::ofdma::CarrierSensing>*> wimemac::convergence::ChannelState::rssObservers [private] |
Definition at line 153 of file ChannelState.hpp.
const std::string wimemac::convergence::ChannelState::rxStartEndName [private] |
Definition at line 219 of file ChannelState.hpp.
const wns::simulator::Time wimemac::convergence::ChannelState::sifsDuration [private] |
Definition at line 224 of file ChannelState.hpp.
const std::string wimemac::convergence::ChannelState::txStartEndName [private] |
Definition at line 218 of file ChannelState.hpp.
Definition at line 210 of file ChannelState.hpp.
1.5.5