#include <BasicMsduAggregationPolicy.h>
std::vector< Ieee80211DataFrame * > * inet::ieee80211::BasicMsduAggregationPolicy::computeAggregateFrames |
( |
cQueue * |
queue | ) |
|
|
overridevirtual |
Implements inet::ieee80211::IMsduAggregationPolicy.
71 ASSERT(!queue->isEmpty());
73 auto firstFrame =
dynamic_cast<Ieee80211DataFrame *
>(queue->front());
74 auto frames =
new std::vector<Ieee80211DataFrame *>();
75 for (cQueue::Iterator it(*queue); !it.end(); it++)
77 auto dataFrame =
dynamic_cast<Ieee80211DataFrame *
>(*it);
78 if (!dataFrame || !
isEligible(dataFrame, firstFrame, aMsduLength))
80 frames->push_back(dataFrame);
virtual bool isEligible(Ieee80211DataFrame *frame, Ieee80211DataFrame *testFrame, int aMsduLength)
Definition: BasicMsduAggregationPolicy.cc:39
virtual bool isAggregationPossible(int numOfFramesToAggragate, int aMsduLength)
Definition: BasicMsduAggregationPolicy.cc:33
const unsigned int LENGTH_A_MSDU_SUBFRAME_HEADER
Definition: Ieee80211Frame_m.h:51
void inet::ieee80211::BasicMsduAggregationPolicy::initialize |
( |
| ) |
|
|
overrideprotectedvirtual |
bool qOsCheck
Definition: BasicMsduAggregationPolicy.h:29
int subframeNumThreshold
Definition: BasicMsduAggregationPolicy.h:30
int aggregationLengthThreshold
Definition: BasicMsduAggregationPolicy.h:31
int maxAMsduSize
Definition: BasicMsduAggregationPolicy.h:32
bool inet::ieee80211::BasicMsduAggregationPolicy::isAggregationPossible |
( |
int |
numOfFramesToAggragate, |
|
|
int |
aMsduLength |
|
) |
| |
|
protectedvirtual |
Referenced by computeAggregateFrames().
int subframeNumThreshold
Definition: BasicMsduAggregationPolicy.h:30
int aggregationLengthThreshold
Definition: BasicMsduAggregationPolicy.h:31
Referenced by computeAggregateFrames().
55 if (testFrame->getTid() != frame->getTid())
62 if (testFrame->getReceiverAddress() != frame->getReceiverAddress() ||
63 testFrame->getTransmitterAddress() != frame->getTransmitterAddress())
bool qOsCheck
Definition: BasicMsduAggregationPolicy.h:29
Definition: Ieee80211Frame_m.h:117
const unsigned int LENGTH_A_MSDU_SUBFRAME_HEADER
Definition: Ieee80211Frame_m.h:51
int maxAMsduSize
Definition: BasicMsduAggregationPolicy.h:32
int inet::ieee80211::BasicMsduAggregationPolicy::aggregationLengthThreshold = -1 |
|
protected |
int inet::ieee80211::BasicMsduAggregationPolicy::maxAMsduSize = -1 |
|
protected |
bool inet::ieee80211::BasicMsduAggregationPolicy::qOsCheck = false |
|
protected |
int inet::ieee80211::BasicMsduAggregationPolicy::subframeNumThreshold = -1 |
|
protected |
The documentation for this class was generated from the following files: