![]() |
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 |
| bool | isRTS (const wns::ldk::CompoundPtr &compound) 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 wifimac::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 |
| struct wifimac::convergence::ChannelState::Friends | friends |
| struct wifimac::convergence::ChannelState::Indicators | indicators |
| wifimac::FrameType | lastCommandOut |
| 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 | rtsctsCommandName |
| 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.
| ChannelState::ChannelState | ( | wns::ldk::fun::FUN * | fun, | |
| const wns::pyconfig::View & | config | |||
| ) |
Definition at line 48 of file ChannelState.cpp.
| ChannelState::~ChannelState | ( | ) | [virtual] |
Definition at line 120 of file ChannelState.cpp.
| void ChannelState::checkNewCS | ( | ) | [private, virtual] |
Definition at line 383 of file ChannelState.cpp.
| CS ChannelState::getCurrentChannelState | ( | ) | const [private, virtual] |
Definition at line 346 of file ChannelState.cpp.
| bool ChannelState::isRTS | ( | const wns::ldk::CompoundPtr & | compound | ) | const [private] |
Definition at line 289 of file ChannelState.cpp.
| void 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.
Definition at line 124 of file ChannelState.cpp.
| void ChannelState::onRSSChange | ( | wns::Power | newRSS | ) | [private, virtual] |
| void ChannelState::onRxEnd | ( | ) | [private, virtual] |
| void ChannelState::onRxError | ( | ) | [private, virtual] |
| void ChannelState::onRxStart | ( | const wns::simulator::Time | expRxDuration | ) | [private, virtual] |
| void ChannelState::onTimeout | ( | ) | [private, virtual] |
| void ChannelState::onTxEnd | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
| void ChannelState::onTxStart | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
| void ChannelState::periodically | ( | ) | [private, virtual] |
| void ChannelState::probeChannelBusy | ( | ) | [private] |
Definition at line 405 of file ChannelState.cpp.
| void ChannelState::probeChannelIdle | ( | ) | [private] |
Definition at line 410 of file ChannelState.cpp.
| void ChannelState::processIncoming | ( | const wns::ldk::CompoundPtr & | compound | ) | [private, virtual] |
| void ChannelState::processOutgoing | ( | const wns::ldk::CompoundPtr & | ) | [private, virtual] |
Override this method to handle outgoing compounds.
Implements wns::ldk::ProcessorInterface.
Definition at line 208 of file ChannelState.cpp.
| void wifimac::convergence::ChannelState::registerRSSObserver | ( | wns::Observer< wns::service::phy::ofdma::CarrierSensing > * | o | ) | [inline] |
Definition at line 105 of file ChannelState.hpp.
| void ChannelState::setCarrierSensingService | ( | wns::service::Service * | cs | ) |
Definition at line 143 of file ChannelState.cpp.
struct wifimac::convergence::ChannelState::ActiveIndicators wifimac::convergence::ChannelState::activeIndicators [private] |
wns::simulator::Time wifimac::convergence::ChannelState::channelBusyFractionMeasurementPeriod [private] |
Definition at line 228 of file ChannelState.hpp.
wns::probe::bus::ContextCollectorPtr wifimac::convergence::ChannelState::channelBusyFractionProbe [private] |
Definition at line 227 of file ChannelState.hpp.
Definition at line 231 of file ChannelState.hpp.
Definition at line 230 of file ChannelState.hpp.
Definition at line 229 of file ChannelState.hpp.
Definition at line 148 of file ChannelState.hpp.
struct wifimac::convergence::ChannelState::Friends wifimac::convergence::ChannelState::friends [private] |
struct wifimac::convergence::ChannelState::Indicators wifimac::convergence::ChannelState::indicators [private] |
Definition at line 211 of file ChannelState.hpp.
CS wifimac::convergence::ChannelState::lastCS [private] |
Definition at line 205 of file ChannelState.hpp.
Definition at line 207 of file ChannelState.hpp.
Definition at line 149 of file ChannelState.hpp.
const std::string wifimac::convergence::ChannelState::managerName [private] |
Definition at line 213 of file ChannelState.hpp.
Definition at line 233 of file ChannelState.hpp.
Definition at line 195 of file ChannelState.hpp.
const std::string wifimac::convergence::ChannelState::phyUserCommandName [private] |
Definition at line 214 of file ChannelState.hpp.
const wns::Power wifimac::convergence::ChannelState::rawEnergyThreshold [private] |
Definition at line 190 of file ChannelState.hpp.
std::vector<wns::Observer<wns::service::phy::ofdma::CarrierSensing>*> wifimac::convergence::ChannelState::rssObservers [private] |
Definition at line 152 of file ChannelState.hpp.
const std::string wifimac::convergence::ChannelState::rtsctsCommandName [private] |
Definition at line 215 of file ChannelState.hpp.
const std::string wifimac::convergence::ChannelState::rxStartEndName [private] |
Definition at line 217 of file ChannelState.hpp.
const wns::simulator::Time wifimac::convergence::ChannelState::sifsDuration [private] |
Definition at line 222 of file ChannelState.hpp.
const std::string wifimac::convergence::ChannelState::txStartEndName [private] |
Definition at line 216 of file ChannelState.hpp.
Definition at line 209 of file ChannelState.hpp.
1.5.5