#include <TxOpFs.h>
◆ TxOpFs()
| inet::ieee80211::TxOpFs::TxOpFs |
( |
| ) |
|
32 new BlockAckReqBlockAckFs()}),
◆ ~TxOpFs()
| virtual inet::ieee80211::TxOpFs::~TxOpFs |
( |
| ) |
|
|
inlinevirtual |
◆ isBlockAckReqRtsCtsNeeded()
◆ isRtsCtsNeeded()
71 auto protectedFrame = context->getInProgressFrames()->getFrameToTransmit();
72 return context->getRtsPolicy()->isRtsNeeded(protectedFrame, protectedFrame->peekAtFront<Ieee80211MacHeader>());
Referenced by TxOpFs().
◆ selectMgmtOrDataQap()
◆ selectTxOpSequence()
48 auto frameToTransmit = context->getInProgressFrames()->getFrameToTransmit();
49 const auto& macHeader = frameToTransmit->peekAtFront<Ieee80211MacHeader>();
50 if (context->getQoSContext()->ackPolicy->isBlockAckReqNeeded(context->getInProgressFrames(), context->getQoSContext()->txopProcedure))
52 if (dynamicPtrCast<const Ieee80211MgmtHeader>(macHeader))
55 auto dataHeaderToTransmit = dynamicPtrCast<const Ieee80211DataHeader>(macHeader);
56 OriginatorBlockAckAgreement *agreement =
nullptr;
57 if (context->getQoSContext()->blockAckAgreementHandler)
58 agreement = context->getQoSContext()->blockAckAgreementHandler->getAgreement(dataHeaderToTransmit->getReceiverAddress(), dataHeaderToTransmit->getTid());
59 auto ackPolicy = context->getQoSContext()->ackPolicy->computeAckPolicy(frameToTransmit, dataHeaderToTransmit, agreement);
65 throw cRuntimeError(
"Unknown AckPolicy");
The documentation for this class was generated from the following files: