INET Framework for OMNeT++/OMNEST
inet::ieee80211::OriginatorAckPolicy Class Reference

#include <OriginatorAckPolicy.h>

Inheritance diagram for inet::ieee80211::OriginatorAckPolicy:
inet::ieee80211::ModeSetListener inet::ieee80211::IOriginatorAckPolicy

Public Member Functions

virtual bool isAckNeeded (Ieee80211DataOrMgmtFrame *frame) const override
 
virtual simtime_t getAckTimeout (Ieee80211DataOrMgmtFrame *frame) const override
 
- Public Member Functions inherited from inet::ieee80211::IOriginatorAckPolicy
virtual ~IOriginatorAckPolicy ()
 

Protected Member Functions

virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 
- Protected Member Functions inherited from inet::ieee80211::ModeSetListener
virtual void receiveSignal (cComponent *source, simsignal_t signalID, cObject *obj, cObject *details) override
 

Protected Attributes

IRateSelectionrateSelection = nullptr
 
simtime_t ackTimeout = -1
 
- Protected Attributes inherited from inet::ieee80211::ModeSetListener
Ieee80211ModeSetmodeSet = nullptr
 

Member Function Documentation

simtime_t inet::ieee80211::OriginatorAckPolicy::getAckTimeout ( Ieee80211DataOrMgmtFrame frame) const
overridevirtual

Implements inet::ieee80211::IOriginatorAckPolicy.

50 {
52 }
simtime_t getSlotTime() const
Definition: Ieee80211ModeSet.h:78
Ieee80211ModeSet * modeSet
Definition: ModeSetListener.h:31
simtime_t getSifsTime() const
Definition: Ieee80211ModeSet.h:77
virtual const simtime_t getPhyRxStartDelay() const =0
IRateSelection * rateSelection
Definition: OriginatorAckPolicy.h:31
virtual const IIeee80211Mode * computeResponseAckFrameMode(Ieee80211DataOrMgmtFrame *dataOrMgmtFrame)=0
simtime_t ackTimeout
Definition: OriginatorAckPolicy.h:32
void inet::ieee80211::OriginatorAckPolicy::initialize ( int  stage)
overrideprotectedvirtual

Reimplemented from inet::ieee80211::ModeSetListener.

26 {
28  if (stage == INITSTAGE_LOCAL) {
29  rateSelection = check_and_cast<IRateSelection*>(getModuleByPath(par("rateSelectionModule")));
30  ackTimeout = par("ackTimeout");
31  }
32 }
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: OriginatorAckPolicy.h:31
simtime_t ackTimeout
Definition: OriginatorAckPolicy.h:32
bool inet::ieee80211::OriginatorAckPolicy::isAckNeeded ( Ieee80211DataOrMgmtFrame frame) const
overridevirtual

Implements inet::ieee80211::IOriginatorAckPolicy.

35 {
36  if (auto dataOrMgmtFrame = dynamic_cast<Ieee80211DataOrMgmtFrame*>(frame)) {
37  return !dataOrMgmtFrame->getReceiverAddress().isMulticast(); // TODO: + mgmt with NoAck check
38  }
39  return false;
40 }
virtual int inet::ieee80211::OriginatorAckPolicy::numInitStages ( ) const
inlineoverrideprotectedvirtual

Reimplemented from inet::ieee80211::ModeSetListener.

35 { return NUM_INIT_STAGES; }
The number of initialization stages.
Definition: InitStages.h:116

Member Data Documentation

simtime_t inet::ieee80211::OriginatorAckPolicy::ackTimeout = -1
protected

Referenced by getAckTimeout(), and initialize().

IRateSelection* inet::ieee80211::OriginatorAckPolicy::rateSelection = nullptr
protected

Referenced by getAckTimeout(), and initialize().


The documentation for this class was generated from the following files: