#include <QoSRecoveryProcedure.h>
void inet::ieee80211::QoSRecoveryProcedure::ackFrameReceived |
( |
Ieee80211DataFrame * |
ackedFrame | ) |
|
|
virtual |
115 auto id = std::make_pair(ackedFrame->getTid(), SequenceControlField(ackedFrame->getSequenceNumber(), ackedFrame->getFragmentNumber()));
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
void resetStationSrc()
Definition: QoSRecoveryProcedure.h:60
void resetContentionWindow()
Definition: QoSRecoveryProcedure.cc:206
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QoSRecoveryProcedure.h:44
void resetStationLrc()
Definition: QoSRecoveryProcedure.h:61
void inet::ieee80211::QoSRecoveryProcedure::blockAckFrameReceived |
( |
| ) |
|
|
virtual |
void resetStationSrc()
Definition: QoSRecoveryProcedure.h:60
void inet::ieee80211::QoSRecoveryProcedure::ctsFrameReceived |
( |
| ) |
|
|
virtual |
void resetStationSrc()
Definition: QoSRecoveryProcedure.h:60
void inet::ieee80211::QoSRecoveryProcedure::dataFrameTransmissionFailed |
( |
Ieee80211DataFrame * |
failedFrame | ) |
|
|
virtual |
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
void incrementStationLrc()
Definition: QoSRecoveryProcedure.cc:57
void incrementCounter(Ieee80211DataFrame *frame, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QoSRecoveryProcedure.cc:66
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QoSRecoveryProcedure.h:44
void incrementStationSrc()
Definition: QoSRecoveryProcedure.cc:48
int inet::ieee80211::QoSRecoveryProcedure::doubleCw |
( |
int |
cw | ) |
|
|
protected |
virtual int inet::ieee80211::QoSRecoveryProcedure::getLongRetryLimit |
( |
| ) |
|
|
inlinevirtual |
int longRetryLimit
Definition: QoSRecoveryProcedure.h:50
Referenced by getRetryCount(), isRetryLimitReached(), and isRtsFrameRetryLimitReached().
218 auto id = std::make_pair(frame->getTid(), SequenceControlField(frame->getSequenceNumber(), frame->getFragmentNumber()));
219 auto it = retryCounter.find(
id);
220 if (it != retryCounter.end())
223 throw cRuntimeError(
"The retry counter entry doesn't exist for message id: %d", frame->getId());
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
int getRc(Ieee80211DataFrame *frame, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QoSRecoveryProcedure.cc:216
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QoSRecoveryProcedure.h:44
virtual int inet::ieee80211::QoSRecoveryProcedure::getShortRetryLimit |
( |
| ) |
|
|
inlinevirtual |
int shortRetryLimit
Definition: QoSRecoveryProcedure.h:49
Referenced by dataFrameTransmissionFailed(), and rtsFrameTransmissionFailed().
68 auto id = std::make_pair(frame->getTid(), SequenceControlField(frame->getSequenceNumber(), frame->getFragmentNumber()));
69 if (retryCounter.find(
id) != retryCounter.end())
uint16_t id
Definition: TCP_NSC.cc:85
void inet::ieee80211::QoSRecoveryProcedure::incrementStationLrc |
( |
| ) |
|
|
protected |
Referenced by dataFrameTransmissionFailed().
virtual void incrementCw()=0
void resetContentionWindow()
Definition: QoSRecoveryProcedure.cc:206
ICwCalculator * cwCalculator
Definition: QoSRecoveryProcedure.h:41
int stationLongRetryCounter
Definition: QoSRecoveryProcedure.h:46
int longRetryLimit
Definition: QoSRecoveryProcedure.h:50
void inet::ieee80211::QoSRecoveryProcedure::incrementStationSrc |
( |
| ) |
|
|
protected |
Referenced by dataFrameTransmissionFailed(), and rtsFrameTransmissionFailed().
int stationShortRetryCounter
Definition: QoSRecoveryProcedure.h:47
virtual void incrementCw()=0
void resetContentionWindow()
Definition: QoSRecoveryProcedure.cc:206
int shortRetryLimit
Definition: QoSRecoveryProcedure.h:49
ICwCalculator * cwCalculator
Definition: QoSRecoveryProcedure.h:41
void inet::ieee80211::QoSRecoveryProcedure::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
40 auto rtsPolicy = check_and_cast<IRtsPolicy *>(getModuleByPath(par(
"rtsPolicyModule")));
41 cwCalculator = check_and_cast<ICwCalculator *>(getModuleByPath(par(
"cwCalculatorModule")));
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
Operations that no other initializations can depend on, e.g.
Definition: InitStages.h:111
int shortRetryLimit
Definition: QoSRecoveryProcedure.h:49
ICwCalculator * cwCalculator
Definition: QoSRecoveryProcedure.h:41
int longRetryLimit
Definition: QoSRecoveryProcedure.h:50
bool inet::ieee80211::QoSRecoveryProcedure::isMulticastFrame |
( |
Ieee80211Frame * |
frame | ) |
|
|
protected |
228 if (Ieee80211OneAddressFrame *oneAddressFrame = dynamic_cast<Ieee80211OneAddressFrame*>(frame)) {
229 return oneAddressFrame->getReceiverAddress().isMulticast();
bool inet::ieee80211::QoSRecoveryProcedure::isRetryLimitReached |
( |
Ieee80211DataFrame * |
failedFrame | ) |
|
|
virtual |
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
int shortRetryLimit
Definition: QoSRecoveryProcedure.h:49
int getRc(Ieee80211DataFrame *frame, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QoSRecoveryProcedure.cc:216
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QoSRecoveryProcedure.h:44
int longRetryLimit
Definition: QoSRecoveryProcedure.h:50
bool inet::ieee80211::QoSRecoveryProcedure::isRtsFrameRetryLimitReached |
( |
Ieee80211DataFrame * |
protectedFrame | ) |
|
|
virtual |
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
int shortRetryLimit
Definition: QoSRecoveryProcedure.h:49
int getRc(Ieee80211DataFrame *frame, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QoSRecoveryProcedure.cc:216
void inet::ieee80211::QoSRecoveryProcedure::multicastFrameTransmitted |
( |
| ) |
|
|
virtual |
void resetStationSrc()
Definition: QoSRecoveryProcedure.h:60
void resetStationLrc()
Definition: QoSRecoveryProcedure.h:61
virtual int inet::ieee80211::QoSRecoveryProcedure::numInitStages |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
The number of initialization stages.
Definition: InitStages.h:116
void inet::ieee80211::QoSRecoveryProcedure::resetContentionWindow |
( |
| ) |
|
|
protected |
void inet::ieee80211::QoSRecoveryProcedure::resetStationLrc |
( |
| ) |
|
|
inlineprotected |
void inet::ieee80211::QoSRecoveryProcedure::resetStationSrc |
( |
| ) |
|
|
inlineprotected |
void inet::ieee80211::QoSRecoveryProcedure::retryLimitReached |
( |
Ieee80211DataFrame * |
frame | ) |
|
|
virtual |
141 auto id = std::make_pair(frame->getTid(), SequenceControlField(frame->getSequenceNumber(), frame->getFragmentNumber()));
int rtsThreshold
Definition: QoSRecoveryProcedure.h:51
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
std::map< std::pair< Tid, SequenceControlField >, int > longRetryCounter
Definition: QoSRecoveryProcedure.h:44
void inet::ieee80211::QoSRecoveryProcedure::rtsFrameTransmissionFailed |
( |
Ieee80211DataFrame * |
protectedFrame | ) |
|
|
virtual |
std::map< std::pair< Tid, SequenceControlField >, int > shortRetryCounter
Definition: QoSRecoveryProcedure.h:43
void incrementCounter(Ieee80211DataFrame *frame, std::map< std::pair< Tid, SequenceControlField >, int > &retryCounter)
Definition: QoSRecoveryProcedure.cc:66
void incrementStationSrc()
Definition: QoSRecoveryProcedure.cc:48
ICwCalculator* inet::ieee80211::QoSRecoveryProcedure::cwCalculator = nullptr |
|
protected |
int inet::ieee80211::QoSRecoveryProcedure::longRetryLimit = -1 |
|
protected |
int inet::ieee80211::QoSRecoveryProcedure::rtsThreshold = -1 |
|
protected |
int inet::ieee80211::QoSRecoveryProcedure::shortRetryLimit = -1 |
|
protected |
int inet::ieee80211::QoSRecoveryProcedure::stationLongRetryCounter = 0 |
|
protected |
int inet::ieee80211::QoSRecoveryProcedure::stationShortRetryCounter = 0 |
|
protected |
The documentation for this class was generated from the following files: