#include <OriginatorProtectionMechanism.h>
virtual inet::ieee80211::OriginatorProtectionMechanism::~OriginatorProtectionMechanism |
( |
| ) |
|
|
inlinevirtual |
Referenced by computeDurationField().
73 simtime_t ackToPendingFrame = pendingFrameMode->getDuration(
LENGTH_ACK);
74 return pendingFrameDuration + ackToDataFrameDuration + ackToPendingFrame + 3 *
modeSet->
getSifsTime();
virtual MACAddress & getReceiverAddress()
const unsigned int LENGTH_ACK
Definition: Ieee80211Frame_m.h:43
virtual const IIeee80211Mode * computeMode(Ieee80211Frame *frame)=0
virtual const simtime_t getDuration(int dataBitLength) const =0
static void setFrameMode(Ieee80211Frame *frame, const IIeee80211Mode *mode)
Definition: RateSelection.cc:169
Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:31
virtual bool getMoreFragments() const
bool isMulticast() const
Returns true if this is a multicast logical address (first byte's lsb is 1).
Definition: MACAddress.h:146
simtime_t getSifsTime() const
Definition: Ieee80211ModeSet.h:77
virtual const IIeee80211Mode * computeResponseAckFrameMode(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
IRateSelection * rateSelection
Definition: OriginatorProtectionMechanism.h:31
Referenced by inet::ieee80211::Dcf::transmitFrame().
104 if (
auto rtsFrame = dynamic_cast<Ieee80211RTSFrame *>(frame))
106 else if (
auto dataFrame = dynamic_cast<Ieee80211DataFrame*>(frame))
108 else if (
auto mgmtFrame = dynamic_cast<Ieee80211ManagementFrame*>(frame))
111 throw cRuntimeError(
"Unknown frame");
virtual simtime_t computeMgmtFrameDurationField(Ieee80211ManagementFrame *mgmtFrame, Ieee80211DataOrMgmtFrame *pendingFrame)
Definition: OriginatorProtectionMechanism.cc:88
virtual simtime_t computeDataFrameDurationField(Ieee80211DataFrame *dataFrame, Ieee80211DataOrMgmtFrame *pendingFrame)
Definition: OriginatorProtectionMechanism.cc:62
virtual simtime_t computeRtsDurationField(Ieee80211RTSFrame *rtsFrame, Ieee80211DataOrMgmtFrame *pendingFrame)
Definition: OriginatorProtectionMechanism.cc:41
Referenced by computeDurationField().
virtual MACAddress & getReceiverAddress()
const unsigned int LENGTH_ACK
Definition: Ieee80211Frame_m.h:43
virtual const IIeee80211Mode * computeMode(Ieee80211Frame *frame)=0
virtual const simtime_t getDuration(int dataBitLength) const =0
Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:31
virtual bool getMoreFragments() const
bool isMulticast() const
Returns true if this is a multicast logical address (first byte's lsb is 1).
Definition: MACAddress.h:146
simtime_t getSifsTime() const
Definition: Ieee80211ModeSet.h:77
virtual const IIeee80211Mode * computeResponseAckFrameMode(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
IRateSelection * rateSelection
Definition: OriginatorProtectionMechanism.h:31
Referenced by computeDurationField().
45 simtime_t pendingFrameDuration = pendingFrameMode->getDuration(pendingFrame->getBitLength());
48 simtime_t durationId = ctsFrameDuration + pendingFrameDuration + ackFrameDuration;
virtual const IIeee80211Mode * computeResponseCtsFrameMode(Ieee80211RTSFrame *rtsFrame)=0
const unsigned int LENGTH_ACK
Definition: Ieee80211Frame_m.h:43
virtual const IIeee80211Mode * computeMode(Ieee80211Frame *frame)=0
virtual const simtime_t getDuration(int dataBitLength) const =0
static void setFrameMode(Ieee80211Frame *frame, const IIeee80211Mode *mode)
Definition: RateSelection.cc:169
Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:31
simtime_t getSifsTime() const
Definition: Ieee80211ModeSet.h:77
const unsigned int LENGTH_CTS
Definition: Ieee80211Frame_m.h:42
virtual const IIeee80211Mode * computeResponseAckFrameMode(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
IRateSelection * rateSelection
Definition: OriginatorProtectionMechanism.h:31
void inet::ieee80211::OriginatorProtectionMechanism::initialize |
( |
int |
stage | ) |
|
|
overrideprotectedvirtual |
Reimplemented from inet::ieee80211::ModeSetListener.
Abstract interface for rate selection.
Definition: IRateSelection.h:36
Local initializations.
Definition: InitStages.h:35
virtual void initialize(int stage) override
Definition: ModeSetListener.cc:25
IRateSelection * rateSelection
Definition: OriginatorProtectionMechanism.h:31
virtual int inet::ieee80211::OriginatorProtectionMechanism::numInitStages |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
IRateSelection* inet::ieee80211::OriginatorProtectionMechanism::rateSelection = nullptr |
|
protected |
The documentation for this class was generated from the following files: