|
INET Framework for OMNeT++/OMNEST
|
#include <InProgressFrames.h>
◆ ~InProgressFrames()
| inet::ieee80211::InProgressFrames::~InProgressFrames |
( |
| ) |
|
|
virtual |
◆ clearDroppedFrames()
| void inet::ieee80211::InProgressFrames::clearDroppedFrames |
( |
| ) |
|
|
virtual |
◆ dropFrame()
| void inet::ieee80211::InProgressFrames::dropFrame |
( |
Packet * |
packet | ) |
|
|
virtual |
128 EV_DEBUG <<
"Dropping frame " << packet->getName() <<
".\n";
◆ dropFrames()
139 auto header = frame->peekAtFront<Ieee80211MacHeader>();
141 auto dataheader =
CHK(dynamicPtrCast<const Ieee80211DataHeader>(header));
142 if (seqAndFragNums.count(std::make_pair(dataheader->getReceiverAddress(), std::make_pair(dataheader->getTid(), SequenceControlField(dataheader->getSequenceNumber().get(), dataheader->getFragmentNumber())))) != 0) {
143 EV_DEBUG <<
"Dropping frame " << frame->getName() <<
".\n";
◆ ensureHasFrameToTransmit()
| void inet::ieee80211::InProgressFrames::ensureHasFrameToTransmit |
( |
| ) |
|
|
protected |
71 for (
auto frame : *frames) {
72 EV_DEBUG <<
"Inserting frame " << frame->getName() <<
" extracted from MAC data service.\n";
76 frame->setArrivalTime(simTime());
Referenced by getFrameToTransmit().
◆ forEachChild()
| void inet::ieee80211::InProgressFrames::forEachChild |
( |
cVisitor * |
v | ) |
|
|
overridevirtual |
47 cSimpleModule::forEachChild(v);
◆ getFrames()
| virtual Packet* inet::ieee80211::InProgressFrames::getFrames |
( |
int |
i | ) |
const |
|
inlinevirtual |
◆ getFrameToTransmit()
| Packet * inet::ieee80211::InProgressFrames::getFrameToTransmit |
( |
| ) |
|
|
virtual |
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::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().
◆ getLength()
| virtual int inet::ieee80211::InProgressFrames::getLength |
( |
| ) |
const |
|
inlinevirtual |
◆ getOutstandingFrames()
| std::vector< Packet * > inet::ieee80211::InProgressFrames::getOutstandingFrames |
( |
| ) |
|
|
virtual |
◆ getPendingFrameFor()
| Packet * inet::ieee80211::InProgressFrames::getPendingFrameFor |
( |
Packet * |
frame | ) |
|
|
virtual |
98 if (dynamicPtrCast<const Ieee80211RtsFrame>(frame->peekAtFront<Ieee80211MacHeader>()))
99 return frameToTransmit;
107 auto firstFrame = (*frames)[0];
108 for (
auto frame : *frames) {
112 frame->setArrivalTime(simTime());
◆ hasEligibleFrameToTransmit()
| bool inet::ieee80211::InProgressFrames::hasEligibleFrameToTransmit |
( |
| ) |
|
|
protected |
◆ hasInProgressFrames()
| virtual bool inet::ieee80211::InProgressFrames::hasInProgressFrames |
( |
| ) |
|
|
inlinevirtual |
◆ initialize()
| void inet::ieee80211::InProgressFrames::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
23 pendingQueue = check_and_cast<queueing::IPacketQueue *>(getModuleByPath(par(
"pendingQueueModule")));
24 dataService = check_and_cast<IOriginatorMacDataService *>(getModuleByPath(par(
"originatorMacDataServiceModule")));
25 ackHandler = check_and_cast<IAckHandler *>(getModuleByPath(par(
"ackHandlerModule")));
◆ str()
| std::string inet::ieee80211::InProgressFrames::str |
( |
| ) |
const |
|
overridevirtual |
39 return std::string(
"empty");
40 std::stringstream out;
◆ updateDisplayString()
| void inet::ieee80211::InProgressFrames::updateDisplayString |
( |
| ) |
const |
|
protectedvirtual |
◆ ackHandler
| IAckHandler* inet::ieee80211::InProgressFrames::ackHandler = nullptr |
|
protected |
◆ dataService
◆ droppedFrames
| std::vector<Packet *> inet::ieee80211::InProgressFrames::droppedFrames |
|
protected |
◆ inProgressFrames
| std::vector<Packet *> inet::ieee80211::InProgressFrames::inProgressFrames |
|
protected |
Referenced by dropFrame(), dropFrames(), ensureHasFrameToTransmit(), forEachChild(), getFrameToTransmit(), getOutstandingFrames(), getPendingFrameFor(), hasEligibleFrameToTransmit(), str(), updateDisplayString(), and ~InProgressFrames().
◆ packetDequeuedSignal
| simsignal_t inet::ieee80211::InProgressFrames::packetDequeuedSignal = cComponent::registerSignal("packetDequeued") |
|
static |
◆ packetEnqueuedSignal
| simsignal_t inet::ieee80211::InProgressFrames::packetEnqueuedSignal = cComponent::registerSignal("packetEnqueued") |
|
static |
◆ pendingQueue
The documentation for this class was generated from the following files:
#define CHK(x)
Definition: INETDefs.h:87
static simsignal_t packetEnqueuedSignal
Definition: InProgressFrames.h:23
void ensureHasFrameToTransmit()
Definition: InProgressFrames.cc:61
virtual void updateDisplayString() const
Definition: InProgressFrames.cc:30
virtual void frameGotInProgress(const Ptr< const Ieee80211DataOrMgmtHeader > &dataOrMgmtHeader)=0
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
static simsignal_t packetDequeuedSignal
Definition: InProgressFrames.h:24
std::vector< Packet * > inProgressFrames
Definition: InProgressFrames.h:30
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
std::vector< Packet * > droppedFrames
Definition: InProgressFrames.h:31
@ ST_DATA_WITH_QOS
Definition: Ieee80211Frame_m.h:169
queueing::IPacketQueue * pendingQueue
Definition: InProgressFrames.h:27
virtual std::vector< Packet * > * extractFramesToTransmit(queueing::IPacketQueue *pendingQueue)=0
virtual bool isOutstandingFrame(const Ptr< const Ieee80211DataOrMgmtHeader > &header)=0
#define Enter_Method(...)
Definition: SelfDoc.h:71
virtual Packet * getFrameToTransmit()
Definition: InProgressFrames.cc:85
virtual bool isEligibleToTransmit(const Ptr< const Ieee80211DataOrMgmtHeader > &header)=0
bool hasEligibleFrameToTransmit()
Definition: InProgressFrames.cc:52
IOriginatorMacDataService * dataService
Definition: InProgressFrames.h:28
IAckHandler * ackHandler
Definition: InProgressFrames.h:29