|
INET Framework for OMNeT++/OMNEST
|
#include <NonQosRecoveryProcedure.h>
|
| virtual void | multicastFrameTransmitted (StationRetryCounters *stationCounters) |
| |
| virtual void | ctsFrameReceived (StationRetryCounters *stationCounters) |
| |
| virtual void | ackFrameReceived (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &ackedHeader, StationRetryCounters *stationCounters) |
| |
| virtual void | rtsFrameTransmissionFailed (const Ptr< const Ieee80211DataOrMgmtHeader > &protectedHeader, StationRetryCounters *stationCounters) |
| |
| virtual void | dataOrMgmtFrameTransmissionFailed (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &failedHeader, StationRetryCounters *stationCounters) |
| |
| virtual int | getRetryCount (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &header) |
| |
| virtual int | getShortRetryCount (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &dataOrMgmtHeader) |
| |
| virtual int | getLongRetryCount (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &dataOrMgmtHeader) |
| |
| virtual bool | isRetryLimitReached (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &failedHeader) |
| |
| virtual bool | isRtsFrameRetryLimitReached (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &protectedHeader) |
| |
| virtual void | retryLimitReached (Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &header) |
| |
| virtual int | getLongRetryLimit () |
| |
| virtual int | getShortRetryLimit () |
| |
| virtual | ~IRecoveryProcedure () |
| |
◆ ackFrameReceived()
107 auto id = SequenceControlField(ackedHeader->getSequenceNumber().get(), ackedHeader->getFragmentNumber());
109 stationCounters->resetStationLongRetryCount();
115 stationCounters->resetStationShortRetryCount();
◆ ctsFrameReceived()
| void inet::ieee80211::NonQosRecoveryProcedure::ctsFrameReceived |
( |
StationRetryCounters * |
stationCounters | ) |
|
|
virtual |
95 stationCounters->resetStationShortRetryCount();
◆ dataOrMgmtFrameTransmissionFailed()
◆ getLongRetryCount()
◆ getLongRetryLimit()
| virtual int inet::ieee80211::NonQosRecoveryProcedure::getLongRetryLimit |
( |
| ) |
|
|
inlinevirtual |
◆ getRc()
◆ getRetryCount()
◆ getShortRetryCount()
◆ getShortRetryLimit()
| virtual int inet::ieee80211::NonQosRecoveryProcedure::getShortRetryLimit |
( |
| ) |
|
|
inlinevirtual |
◆ incrementContentionWindow()
| void inet::ieee80211::NonQosRecoveryProcedure::incrementContentionWindow |
( |
| ) |
|
|
protectedvirtual |
◆ incrementCounter()
◆ incrementStationLrc()
| void inet::ieee80211::NonQosRecoveryProcedure::incrementStationLrc |
( |
StationRetryCounters * |
stationCounters | ) |
|
|
protectedvirtual |
55 stationCounters->incrementStationLongRetryCount();
56 EV_INFO <<
"Incremented station LRC: stationLongRetryCounter = " << stationCounters->getStationLongRetryCount() <<
".\n";
Referenced by dataOrMgmtFrameTransmissionFailed().
◆ incrementStationSrc()
| void inet::ieee80211::NonQosRecoveryProcedure::incrementStationSrc |
( |
StationRetryCounters * |
stationCounters | ) |
|
|
protectedvirtual |
◆ initialize()
| void inet::ieee80211::NonQosRecoveryProcedure::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
32 auto rtsPolicy = check_and_cast<IRtsPolicy *>(getModuleByPath(par(
"rtsPolicyModule")));
33 cwCalculator = check_and_cast<ICwCalculator *>(getModuleByPath(par(
"cwCalculatorModule")));
◆ isMulticastFrame()
| bool inet::ieee80211::NonQosRecoveryProcedure::isMulticastFrame |
( |
const Ptr< const Ieee80211MacHeader > & |
header | ) |
|
|
protectedvirtual |
242 if (
auto oneAddressHeader = dynamicPtrCast<const Ieee80211OneAddressHeader>(header))
243 return oneAddressHeader->getReceiverAddress().isMulticast();
◆ isRetryLimitReached()
◆ isRtsFrameRetryLimitReached()
| bool inet::ieee80211::NonQosRecoveryProcedure::isRtsFrameRetryLimitReached |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataOrMgmtHeader > & |
protectedHeader |
|
) |
| |
|
virtual |
◆ multicastFrameTransmitted()
| void inet::ieee80211::NonQosRecoveryProcedure::multicastFrameTransmitted |
( |
StationRetryCounters * |
stationCounters | ) |
|
|
virtual |
79 stationCounters->resetStationShortRetryCount();
80 stationCounters->resetStationLongRetryCount();
◆ numInitStages()
| virtual int inet::ieee80211::NonQosRecoveryProcedure::numInitStages |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
◆ resetContentionWindow()
| void inet::ieee80211::NonQosRecoveryProcedure::resetContentionWindow |
( |
| ) |
|
|
protectedvirtual |
◆ retryLimitReached()
134 EV_WARN <<
"Retry limit reached for " << *packet <<
".\n";
135 auto id = SequenceControlField(header->getSequenceNumber().get(), header->getFragmentNumber());
◆ rtsFrameTransmissionFailed()
◆ cwCalculator
| ICwCalculator* inet::ieee80211::NonQosRecoveryProcedure::cwCalculator = nullptr |
|
protected |
◆ longRetryCounter
◆ longRetryLimit
| int inet::ieee80211::NonQosRecoveryProcedure::longRetryLimit = -1 |
|
protected |
◆ rtsThreshold
| int inet::ieee80211::NonQosRecoveryProcedure::rtsThreshold = -1 |
|
protected |
◆ shortRetryCounter
◆ shortRetryLimit
| int inet::ieee80211::NonQosRecoveryProcedure::shortRetryLimit = -1 |
|
protected |
The documentation for this class was generated from the following files:
int longRetryLimit
Definition: NonQosRecoveryProcedure.h:36
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
virtual void incrementCw()=0
std::map< SequenceControlField, int > longRetryCounter
Definition: NonQosRecoveryProcedure.h:33
int count(const std::vector< T > &v, const Tk &a)
Definition: stlutils.h:54
virtual int getRc(Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &header, std::map< SequenceControlField, int > &retryCounter)
Definition: NonQosRecoveryProcedure.cc:234
static simsignal_t contentionWindowChangedSignal
Definition: IRecoveryProcedure.h:19
static simsignal_t retryLimitReachedSignal
Definition: IRecoveryProcedure.h:20
virtual void incrementContentionWindow()
Definition: NonQosRecoveryProcedure.cc:211
virtual void incrementCounter(const Ptr< const Ieee80211DataOrMgmtHeader > &header, std::map< SequenceControlField, int > &retryCounter)
Definition: NonQosRecoveryProcedure.cc:63
virtual void incrementStationLrc(StationRetryCounters *stationCounters)
Definition: NonQosRecoveryProcedure.cc:53
std::map< SequenceControlField, int > shortRetryCounter
Definition: NonQosRecoveryProcedure.h:32
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
int shortRetryLimit
Definition: NonQosRecoveryProcedure.h:35
virtual void incrementStationSrc(StationRetryCounters *stationCounters)
Definition: NonQosRecoveryProcedure.cc:43
int rtsThreshold
Definition: NonQosRecoveryProcedure.h:37
virtual void resetContentionWindow()
Definition: NonQosRecoveryProcedure.cc:220
ICwCalculator * cwCalculator
Definition: NonQosRecoveryProcedure.h:30
bool containsKey(const std::map< K, V, _C > &m, const Tk &a)
Definition: stlutils.h:80