#include <InProgressFrames.h>
PendingQueue * pendingQueue
Definition: InProgressFrames.h:33
IOriginatorMacDataService * dataService
Definition: InProgressFrames.h:34
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
inet::ieee80211::InProgressFrames::~InProgressFrames |
( |
| ) |
|
|
virtual |
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
std::vector< Ieee80211DataOrMgmtFrame * > droppedFrames
Definition: InProgressFrames.h:37
void inet::ieee80211::InProgressFrames::clearDroppedFrames |
( |
| ) |
|
|
virtual |
100 auto dataFrame = check_and_cast<
const Ieee80211DataFrame*>(frame);
101 if (seqAndFragNums.count(std::make_pair(dataFrame->getReceiverAddress(), std::make_pair(dataFrame->getTid(), SequenceControlField(dataFrame->getSequenceNumber(), dataFrame->getFragmentNumber())))) != 0) {
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
Definition: Ieee80211Frame_m.h:117
std::vector< Ieee80211DataOrMgmtFrame * > droppedFrames
Definition: InProgressFrames.h:37
void inet::ieee80211::InProgressFrames::ensureHasFrameToTransmit |
( |
| ) |
|
|
protected |
Referenced by getFrameToTransmit().
43 for (
auto frame : *frames) {
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
virtual void frameGotInProgress(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
PendingQueue * pendingQueue
Definition: InProgressFrames.h:33
virtual Fragments * extractFramesToTransmit(PendingQueue *pendingQueue)=0
IOriginatorMacDataService * dataService
Definition: InProgressFrames.h:34
bool hasEligibleFrameToTransmit()
Definition: InProgressFrames.cc:24
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
Referenced by getPendingFrameFor(), inet::ieee80211::DcfFs::hasMoreFragments(), inet::ieee80211::HcfFs::hasMoreTxOps(), inet::ieee80211::HcfFs::hasMoreTxOpsAndMulticast(), inet::ieee80211::DcfFs::isBroadcastManagementOrGroupDataSequenceNeeded(), inet::ieee80211::DcfFs::isFragFrameSequenceNeeded(), inet::ieee80211::TxOpFs::isRtsCtsNeeded(), inet::ieee80211::DcfFs::isRtsCtsNeeded(), inet::ieee80211::Dcf::originatorProcessTransmittedFrame(), inet::ieee80211::DataFs::prepareStep(), inet::ieee80211::ManagementAckFs::prepareStep(), inet::ieee80211::ManagementFs::prepareStep(), inet::ieee80211::RtsCtsFs::prepareStep(), inet::ieee80211::RtsFs::prepareStep(), inet::ieee80211::FragFrameAckFs::prepareStep(), inet::ieee80211::LastFrameAckFs::prepareStep(), inet::ieee80211::HcfFs::selectDataOrManagementSequence(), inet::ieee80211::HcfFs::selectHcfSequence(), inet::ieee80211::DcfFs::selectMulticastDataOrMgmt(), and inet::ieee80211::TxOpFs::selectTxOpSequence().
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
virtual bool isEligibleToTransmit(Ieee80211DataOrMgmtFrame *frame)=0
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
void ensureHasFrameToTransmit()
Definition: InProgressFrames.cc:33
std::vector< Ieee80211DataFrame * > inet::ieee80211::InProgressFrames::getOutstandingFrames |
( |
| ) |
|
|
virtual |
Referenced by inet::ieee80211::OriginatorQoSAckPolicy::getOutstandingFramesPerReceiver().
115 std::vector<Ieee80211DataFrame*> outstandingFrames;
118 outstandingFrames.push_back(check_and_cast<Ieee80211DataFrame*>(frame));
120 return outstandingFrames;
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
virtual bool isOutstandingFrame(Ieee80211DataOrMgmtFrame *frame)=0
Referenced by inet::ieee80211::Dcf::transmitFrame().
65 if (dynamic_cast<Ieee80211RTSFrame *>(frame))
66 return frameToTransmit;
74 auto firstFrame = (*frames)[0];
75 for (
auto frame : *frames) {
77 inProgressFrames.push_back(frame);
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
virtual void frameGotInProgress(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
PendingQueue * pendingQueue
Definition: InProgressFrames.h:33
virtual bool isEligibleToTransmit(Ieee80211DataOrMgmtFrame *frame)=0
virtual Ieee80211DataOrMgmtFrame * getFrameToTransmit()
Definition: InProgressFrames.cc:52
virtual Fragments * extractFramesToTransmit(PendingQueue *pendingQueue)=0
IOriginatorMacDataService * dataService
Definition: InProgressFrames.h:34
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
bool inet::ieee80211::InProgressFrames::hasEligibleFrameToTransmit |
( |
| ) |
|
|
protected |
Referenced by ensureHasFrameToTransmit().
std::list< Ieee80211DataOrMgmtFrame * > inProgressFrames
Definition: InProgressFrames.h:36
virtual bool isEligibleToTransmit(Ieee80211DataOrMgmtFrame *frame)=0
IAckHandler * ackHandler
Definition: InProgressFrames.h:35
virtual bool inet::ieee80211::InProgressFrames::hasInProgressFrames |
( |
| ) |
|
|
inlinevirtual |
IAckHandler* inet::ieee80211::InProgressFrames::ackHandler = nullptr |
|
protected |
PendingQueue* inet::ieee80211::InProgressFrames::pendingQueue = nullptr |
|
protected |
The documentation for this class was generated from the following files: