|
INET Framework for OMNeT++/OMNEST
|
#include <OriginatorProtectionMechanism.h>
|
| virtual int | numInitStages () const override |
| |
| virtual void | initialize (int stage) override |
| |
| virtual simtime_t | computeRtsDurationField (Packet *rtsPacket, const Ptr< const Ieee80211RtsFrame > &rtsFrame, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader) |
| |
| virtual simtime_t | computeDataFrameDurationField (Packet *dataPacket, const Ptr< const Ieee80211DataHeader > &dataHeader, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader) |
| |
| virtual simtime_t | computeMgmtFrameDurationField (Packet *mgmtPacket, const Ptr< const Ieee80211MgmtHeader > &mgmtHeader, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader) |
| |
| virtual void | receiveSignal (cComponent *source, simsignal_t signalID, cObject *obj, cObject *details) override |
| |
◆ ~OriginatorProtectionMechanism()
| virtual inet::ieee80211::OriginatorProtectionMechanism::~OriginatorProtectionMechanism |
( |
| ) |
|
|
inlinevirtual |
◆ computeDataFrameDurationField()
56 if (dataHeader->getReceiverAddress().isMulticast())
58 if (!dataHeader->getMoreFragments())
64 simtime_t ackToPendingFrame = pendingFrameMode->getDuration(
LENGTH_ACK);
65 return pendingFrameDuration + ackToDataFrameDuration + ackToPendingFrame + 3 *
modeSet->
getSifsTime();
Referenced by computeDurationField().
◆ computeDurationField()
95 if (
auto rtsFrame = dynamicPtrCast<const Ieee80211RtsFrame>(header))
97 else if (
auto dataHeader = dynamicPtrCast<const Ieee80211DataHeader>(header))
99 else if (
auto mgmtHeader = dynamicPtrCast<const Ieee80211MgmtHeader>(header))
102 throw cRuntimeError(
"Unknown frame");
◆ computeMgmtFrameDurationField()
82 if (mgmtHeader->getReceiverAddress().isMulticast())
84 if (!mgmtHeader->getMoreFragments()) {
Referenced by computeDurationField().
◆ computeRtsDurationField()
36 simtime_t pendingFrameDuration = pendingFrameMode->getDuration(pendingPacket->getDataLength());
39 simtime_t durationId = ctsFrameDuration + pendingFrameDuration + ackFrameDuration;
Referenced by computeDurationField().
◆ initialize()
| void inet::ieee80211::OriginatorProtectionMechanism::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
◆ numInitStages()
| virtual int inet::ieee80211::OriginatorProtectionMechanism::numInitStages |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
◆ rateSelection
| IRateSelection* inet::ieee80211::OriginatorProtectionMechanism::rateSelection = nullptr |
|
protected |
The documentation for this class was generated from the following files:
virtual const physicallayer::IIeee80211Mode * computeMode(Packet *packet, const Ptr< const Ieee80211MacHeader > &header)=0
IRateSelection * rateSelection
Definition: OriginatorProtectionMechanism.h:21
static void setFrameMode(Packet *packet, const Ptr< const Ieee80211MacHeader > &header, const physicallayer::IIeee80211Mode *mode)
Definition: RateSelection.cc:165
virtual void initialize(int stage) override
Definition: ModeSetListener.cc:17
virtual simtime_t computeRtsDurationField(Packet *rtsPacket, const Ptr< const Ieee80211RtsFrame > &rtsFrame, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader)
Definition: OriginatorProtectionMechanism.cc:32
virtual const simtime_t getDuration(b dataLength) const =0
virtual const physicallayer::IIeee80211Mode * computeResponseCtsFrameMode(Packet *packet, const Ptr< const Ieee80211RtsFrame > &rtsFrame)=0
const b LENGTH_ACK
Definition: Ieee80211Frame_m.h:94
const b LENGTH_CTS
Definition: Ieee80211Frame_m.h:93
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
virtual simtime_t computeDataFrameDurationField(Packet *dataPacket, const Ptr< const Ieee80211DataHeader > &dataHeader, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader)
Definition: OriginatorProtectionMechanism.cc:53
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
simtime_t getSifsTime() const
Definition: Ieee80211ModeSet.h:67
virtual simtime_t computeMgmtFrameDurationField(Packet *mgmtPacket, const Ptr< const Ieee80211MgmtHeader > &mgmtHeader, Packet *pendingPacket, const Ptr< const Ieee80211DataOrMgmtHeader > &pendingHeader)
Definition: OriginatorProtectionMechanism.cc:79
physicallayer::Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:19
virtual const physicallayer::IIeee80211Mode * computeResponseAckFrameMode(Packet *packet, const Ptr< const Ieee80211DataOrMgmtHeader > &dataOrMgmtHeader)=0