|
INET Framework for OMNeT++/OMNEST
|
#include <QosRecoveryProcedure.h>
◆ ackFrameReceived()
| void inet::ieee80211::QosRecoveryProcedure::ackFrameReceived |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
ackedHeader |
|
) |
| |
|
virtual |
116 auto id = std::make_pair(ackedHeader->getTid(), SequenceControlField(ackedHeader->getSequenceNumber().get(), ackedHeader->getFragmentNumber()));
◆ blockAckFrameReceived()
| void inet::ieee80211::QosRecoveryProcedure::blockAckFrameReceived |
( |
| ) |
|
|
virtual |
◆ ctsFrameReceived()
| void inet::ieee80211::QosRecoveryProcedure::ctsFrameReceived |
( |
| ) |
|
|
virtual |
◆ dataFrameTransmissionFailed()
| void inet::ieee80211::QosRecoveryProcedure::dataFrameTransmissionFailed |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
failedHeader |
|
) |
| |
|
virtual |
◆ doubleCw()
| int inet::ieee80211::QosRecoveryProcedure::doubleCw |
( |
int |
cw | ) |
|
|
protected |
◆ getLongRetryLimit()
| virtual int inet::ieee80211::QosRecoveryProcedure::getLongRetryLimit |
( |
| ) |
|
|
inlinevirtual |
◆ getRc()
234 auto id = std::make_pair(header->getTid(), SequenceControlField(header->getSequenceNumber().get(), header->getFragmentNumber()));
235 auto it = retryCounter.find(
id);
236 if (it != retryCounter.end())
239 throw cRuntimeError(
"The retry counter entry doesn't exist for message id: %ld", packet->getId());
Referenced by getRetryCount(), isRetryLimitReached(), and isRtsFrameRetryLimitReached().
◆ getRetryCount()
| int inet::ieee80211::QosRecoveryProcedure::getRetryCount |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
header |
|
) |
| |
|
virtual |
◆ getShortRetryLimit()
| virtual int inet::ieee80211::QosRecoveryProcedure::getShortRetryLimit |
( |
| ) |
|
|
inlinevirtual |
◆ incrementContentionWindow()
| void inet::ieee80211::QosRecoveryProcedure::incrementContentionWindow |
( |
| ) |
|
|
protected |
◆ incrementCounter()
◆ incrementStationLrc()
| void inet::ieee80211::QosRecoveryProcedure::incrementStationLrc |
( |
| ) |
|
|
protected |
◆ incrementStationSrc()
| void inet::ieee80211::QosRecoveryProcedure::incrementStationSrc |
( |
| ) |
|
|
protected |
◆ initialize()
| void inet::ieee80211::QosRecoveryProcedure::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
34 auto rtsPolicy = check_and_cast<IRtsPolicy *>(getModuleByPath(par(
"rtsPolicyModule")));
35 cwCalculator = check_and_cast<ICwCalculator *>(getModuleByPath(par(
"cwCalculatorModule")));
◆ isMulticastFrame()
| bool inet::ieee80211::QosRecoveryProcedure::isMulticastFrame |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211MacHeader > & |
header |
|
) |
| |
|
protected |
244 if (
auto oneAddressHeader = dynamicPtrCast<const Ieee80211OneAddressHeader>(header))
245 return oneAddressHeader->getReceiverAddress().isMulticast();
◆ isRetryLimitReached()
| bool inet::ieee80211::QosRecoveryProcedure::isRetryLimitReached |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
failedHeader |
|
) |
| |
|
virtual |
◆ isRtsFrameRetryLimitReached()
| bool inet::ieee80211::QosRecoveryProcedure::isRtsFrameRetryLimitReached |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
protectedHeader |
|
) |
| |
|
virtual |
◆ multicastFrameTransmitted()
| void inet::ieee80211::QosRecoveryProcedure::multicastFrameTransmitted |
( |
| ) |
|
|
virtual |
◆ numInitStages()
| virtual int inet::ieee80211::QosRecoveryProcedure::numInitStages |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
◆ resetContentionWindow()
| void inet::ieee80211::QosRecoveryProcedure::resetContentionWindow |
( |
| ) |
|
|
protected |
◆ resetStationLrc()
| void inet::ieee80211::QosRecoveryProcedure::resetStationLrc |
( |
| ) |
|
|
inlineprotected |
◆ resetStationSrc()
| void inet::ieee80211::QosRecoveryProcedure::resetStationSrc |
( |
| ) |
|
|
inlineprotected |
◆ retryLimitReached()
| void inet::ieee80211::QosRecoveryProcedure::retryLimitReached |
( |
Packet * |
packet, |
|
|
const Ptr< const Ieee80211DataHeader > & |
header |
|
) |
| |
|
virtual |
142 EV_WARN <<
"Retry limit reached for " << *packet <<
".\n";
143 auto id = std::make_pair(header->getTid(), SequenceControlField(header->getSequenceNumber().get(), header->getFragmentNumber()));
◆ rtsFrameTransmissionFailed()
| void inet::ieee80211::QosRecoveryProcedure::rtsFrameTransmissionFailed |
( |
const Ptr< const Ieee80211DataHeader > & |
protectedHeader | ) |
|
|
virtual |
◆ cwCalculator
| ICwCalculator* inet::ieee80211::QosRecoveryProcedure::cwCalculator = nullptr |
|
protected |
◆ longRetryCounter
◆ longRetryLimit
| int inet::ieee80211::QosRecoveryProcedure::longRetryLimit = -1 |
|
protected |
◆ rtsThreshold
| int inet::ieee80211::QosRecoveryProcedure::rtsThreshold = -1 |
|
protected |
◆ shortRetryCounter
◆ shortRetryLimit
| int inet::ieee80211::QosRecoveryProcedure::shortRetryLimit = -1 |
|
protected |
◆ stationLongRetryCounter
| int inet::ieee80211::QosRecoveryProcedure::stationLongRetryCounter = 0 |
|
protected |
◆ stationShortRetryCounter
| int inet::ieee80211::QosRecoveryProcedure::stationShortRetryCounter = 0 |
|
protected |
The documentation for this class was generated from the following files:
void incrementContentionWindow()
Definition: QosRecoveryProcedure.cc:209
INET_API InitStage INITSTAGE_LAST
Operations that no other initializations can depend on, e.g.
void resetStationSrc()
Definition: QosRecoveryProcedure.h:53
virtual void incrementCw()=0
void resetStationLrc()
Definition: QosRecoveryProcedure.h:54
void incrementStationLrc()
Definition: QosRecoveryProcedure.cc:57
static simsignal_t contentionWindowChangedSignal
Definition: IRecoveryProcedure.h:19
int longRetryLimit
Definition: QosRecoveryProcedure.h:43
static simsignal_t retryLimitReachedSignal
Definition: IRecoveryProcedure.h:20
void incrementCounter(const Ptr< const Ieee80211DataHeader > &header, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QosRecoveryProcedure.cc:67
void resetContentionWindow()
Definition: QosRecoveryProcedure.cc:218
int8_t Tid
Definition: Ieee80211Defs.h:17
int shortRetryLimit
Definition: QosRecoveryProcedure.h:42
int getRc(Packet *packet, const Ptr< const Ieee80211DataHeader > &header, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QosRecoveryProcedure.cc:232
int stationShortRetryCounter
Definition: QosRecoveryProcedure.h:40
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QosRecoveryProcedure.h:36
int rtsThreshold
Definition: QosRecoveryProcedure.h:44
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QosRecoveryProcedure.h:35
int stationLongRetryCounter
Definition: QosRecoveryProcedure.h:39
void incrementStationSrc()
Definition: QosRecoveryProcedure.cc:47
ICwCalculator * cwCalculator
Definition: QosRecoveryProcedure.h:32
bool containsKey(const std::map< K, V, _C > &m, const Tk &a)
Definition: stlutils.h:80