#include <PrimitiveFrameSequences.h>
◆ completeStep()
Implements inet::ieee80211::IFrameSequence.
286 auto receiveStep = check_and_cast<IReceiveStep *>(context->getStep(
firstStep +
step));
288 auto receivedPacket = receiveStep->getReceivedFrame();
289 const auto& receivedHeader = receivedPacket->peekAtFront<Ieee80211MacHeader>();
290 return context->isForUs(receivedHeader) && receivedHeader->getType() ==
ST_CTS;
293 throw cRuntimeError(
"Unknown step");
◆ getHistory()
| virtual std::string inet::ieee80211::RtsCtsFs::getHistory |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ prepareStep()
Implements inet::ieee80211::IFrameSequence.
258 auto packet = context->getInProgressFrames()->getFrameToTransmit();
259 auto dataOrMgmtHeader = packet->peekAtFront<Ieee80211DataOrMgmtHeader>();
260 auto rtsFrame = context->getRtsProcedure()->buildRtsFrame(dataOrMgmtHeader);
261 auto rtsPacket =
new Packet(
"RTS");
262 rtsPacket->insertAtBack(rtsFrame);
263 rtsPacket->insertAtBack(makeShared<Ieee80211MacTrailer>());
264 return new RtsTransmitStep(packet, rtsPacket, context->getIfs());
267 auto txStep = check_and_cast<RtsTransmitStep *>(context->getLastStep());
268 auto packet = txStep->getFrameToTransmit();
269 auto rtsFrame = packet->peekAtFront<Ieee80211RtsFrame>();
270 return new ReceiveStep(context->getCtsTimeout(packet, rtsFrame));
275 throw cRuntimeError(
"Unknown step");
◆ startSequence()
◆ firstStep
| int inet::ieee80211::RtsCtsFs::firstStep = -1 |
|
protected |
◆ step
| int inet::ieee80211::RtsCtsFs::step = -1 |
|
protected |
The documentation for this class was generated from the following files: