INET Framework for OMNeT++/OMNEST
inet::ieee80211::RateControlBase Class Reference

#include <RateControlBase.h>

Inheritance diagram for inet::ieee80211::RateControlBase:
inet::ieee80211::ModeSetListener inet::ieee80211::IRateControl inet::ieee80211::AarfRateControl inet::ieee80211::OnoeRateControl

Static Public Attributes

static simsignal_t datarateChangedSignal = cComponent::registerSignal("datarateChanged")
 

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 
virtual void receiveSignal (cComponent *source, simsignal_t signalID, cObject *obj, cObject *details) override
 
virtual void emitDatarateChangedSignal ()
 
const physicallayer::IIeee80211ModeincreaseRateIfPossible (const physicallayer::IIeee80211Mode *currentMode)
 
const physicallayer::IIeee80211ModedecreaseRateIfPossible (const physicallayer::IIeee80211Mode *currentMode)
 

Protected Attributes

const physicallayer::IIeee80211ModecurrentMode = nullptr
 
- Protected Attributes inherited from inet::ieee80211::ModeSetListener
physicallayer::Ieee80211ModeSetmodeSet = nullptr
 

Additional Inherited Members

- Public Member Functions inherited from inet::ieee80211::IRateControl
virtual ~IRateControl ()
 
virtual const physicallayer::IIeee80211ModegetRate ()=0
 
virtual void frameTransmitted (Packet *frame, int retryCount, bool isSuccessful, bool isGivenUp)=0
 
virtual void frameReceived (Packet *frame)=0
 

Member Function Documentation

◆ decreaseRateIfPossible()

const IIeee80211Mode * inet::ieee80211::RateControlBase::decreaseRateIfPossible ( const physicallayer::IIeee80211Mode currentMode)
protected
31 {
33  return newMode == nullptr ? currentMode : newMode;
34 }

◆ emitDatarateChangedSignal()

void inet::ieee80211::RateControlBase::emitDatarateChangedSignal ( )
protectedvirtual
37 {
39  emit(datarateChangedSignal, rate.get());
40 }

◆ increaseRateIfPossible()

const IIeee80211Mode * inet::ieee80211::RateControlBase::increaseRateIfPossible ( const physicallayer::IIeee80211Mode currentMode)
protected
25 {
27  return newMode == nullptr ? currentMode : newMode;
28 }

◆ initialize()

void inet::ieee80211::RateControlBase::initialize ( int  stage)
overrideprotectedvirtual

◆ numInitStages()

virtual int inet::ieee80211::RateControlBase::numInitStages ( ) const
inlineoverrideprotectedvirtual

◆ receiveSignal()

void inet::ieee80211::RateControlBase::receiveSignal ( cComponent *  source,
simsignal_t  signalID,
cObject *  obj,
cObject *  details 
)
overrideprotectedvirtual

Reimplemented from inet::ieee80211::ModeSetListener.

43 {
44  Enter_Method("%s", cComponent::getSignalName(signalID));
45 
46  if (signalID == modesetChangedSignal) {
47  modeSet = check_and_cast<Ieee80211ModeSet *>(obj);
48  double initRate = par("initialRate");
49  currentMode = initRate == -1 ? modeSet->getFastestMandatoryMode() : modeSet->getMode(bps(initRate));
51  }
52 }

Member Data Documentation

◆ currentMode

const physicallayer::IIeee80211Mode* inet::ieee80211::RateControlBase::currentMode = nullptr
protected

◆ datarateChangedSignal

simsignal_t inet::ieee80211::RateControlBase::datarateChangedSignal = cComponent::registerSignal("datarateChanged")
static

The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211ModeSet::getSlowerMode
const IIeee80211Mode * getSlowerMode(const IIeee80211Mode *mode) const
Definition: Ieee80211ModeSet.cc:547
inet::ieee80211::RateControlBase::datarateChangedSignal
static simsignal_t datarateChangedSignal
Definition: RateControlBase.h:20
inet::units::units::bps
compose< b, pow< s, -1 > > bps
Definition: Units.h:1169
inet::physicallayer::IIeee80211Mode::getDataMode
virtual const IIeee80211DataMode * getDataMode() const =0
inet::physicallayer::Ieee80211ModeSet::getFasterMode
const IIeee80211Mode * getFasterMode(const IIeee80211Mode *mode) const
Definition: Ieee80211ModeSet.cc:556
inet::ieee80211::ModeSetListener::initialize
virtual void initialize(int stage) override
Definition: ModeSetListener.cc:17
inet::physicallayer::IIeee80211DataMode::getNetBitrate
virtual bps getNetBitrate() const =0
inet::modesetChangedSignal
simsignal_t modesetChangedSignal
Definition: Simsignals.cc:24
inet::physicallayer::IIeee80211Mode
Definition: IIeee80211Mode.h:49
inet::physicallayer::Ieee80211ModeSet::getFastestMandatoryMode
const IIeee80211Mode * getFastestMandatoryMode() const
Definition: Ieee80211ModeSet.cc:573
NUM_INIT_STAGES
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
inet::ieee80211::ModeSetListener::modeSet
physicallayer::Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:19
Enter_Method
#define Enter_Method(...)
Definition: SelfDoc.h:71
inet::physicallayer::Ieee80211ModeSet::getMode
const IIeee80211Mode * getMode(bps bitrate, Hz bandwidth=Hz(NaN), int numSpatialStreams=-1) const
Definition: Ieee80211ModeSet.cc:519
inet::ieee80211::RateControlBase::currentMode
const physicallayer::IIeee80211Mode * currentMode
Definition: RateControlBase.h:23
inet::ieee80211::RateControlBase::emitDatarateChangedSignal
virtual void emitDatarateChangedSignal()
Definition: RateControlBase.cc:36