#include <BasicMsduAggregationPolicy.h>
◆ computeAggregateFrames()
Implements inet::ieee80211::IMsduAggregationPolicy.
62 ASSERT(!queue->isEmpty());
64 Ptr<const Ieee80211DataHeader> firstHeader =
nullptr;
65 auto frames =
new std::vector<Packet *>();
66 for (
int i = 0; i < queue->getNumPackets(); i++) {
67 auto dataPacket = queue->getPacket(i);
68 const auto& dataHeader = dynamicPtrCast<const Ieee80211DataHeader>(dataPacket->peekAtFront<Ieee80211DataOrMgmtHeader>());
69 if (dataHeader ==
nullptr)
71 if (firstHeader ==
nullptr)
72 firstHeader = dataHeader;
73 const auto& dataTrailer = dataPacket->peekAtBack<Ieee80211MacTrailer>(
B(4));
74 if (!
isEligible(dataPacket, staticPtrCast<const Ieee80211DataHeader>(dataHeader), dataTrailer, firstHeader, aMsduLength)) {
75 EV_TRACE <<
"Queued " << *dataPacket <<
" is not eligible for A-MSDU aggregation.\n";
78 EV_TRACE <<
"Queued " << *dataPacket <<
" is eligible for A-MSDU aggregation.\n";
79 frames->push_back(dataPacket);
83 EV_DEBUG <<
"A-MSDU aggregation is not possible, collected " << frames->size() <<
" packets.\n";
88 EV_DEBUG <<
"A-MSDU aggregation is possible, collected " << frames->size() <<
" packets.\n";
◆ initialize()
| void inet::ieee80211::BasicMsduAggregationPolicy::initialize |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ isAggregationPossible()
| bool inet::ieee80211::BasicMsduAggregationPolicy::isAggregationPossible |
( |
int |
numOfFramesToAggragate, |
|
|
int |
aMsduLength |
|
) |
| |
|
protectedvirtual |
◆ isEligible()
45 if (testHeader->getTid() != header->getTid())
52 if (testHeader->getReceiverAddress() != header->getReceiverAddress() ||
53 testHeader->getTransmitterAddress() != header->getTransmitterAddress())
Referenced by computeAggregateFrames().
◆ aggregationLengthThreshold
| int inet::ieee80211::BasicMsduAggregationPolicy::aggregationLengthThreshold = -1 |
|
protected |
◆ maxAMsduSize
| b inet::ieee80211::BasicMsduAggregationPolicy::maxAMsduSize = b(-1) |
|
protected |
◆ qOsCheck
| bool inet::ieee80211::BasicMsduAggregationPolicy::qOsCheck = false |
|
protected |
◆ subframeNumThreshold
| int inet::ieee80211::BasicMsduAggregationPolicy::subframeNumThreshold = -1 |
|
protected |
The documentation for this class was generated from the following files: