INET Framework for OMNeT++/OMNEST
inet::ieee80211::IContention Class Referenceabstract

Abstract interface for processes that implement contention-based channel access. More...

#include <IContention.h>

Inheritance diagram for inet::ieee80211::IContention:
inet::ieee80211::Contention

Classes

class  ICallback
 

Public Member Functions

virtual ~IContention ()
 
virtual void startContention (int cw, simtime_t ifs, simtime_t eifs, simtime_t slotTime, ICallback *callback)=0
 
virtual bool isContentionInProgress ()=0
 
virtual void mediumStateChanged (bool mediumFree)=0
 
virtual void corruptedFrameReceived ()=0
 

Static Public Attributes

static simsignal_t backoffPeriodGeneratedSignal = cComponent::registerSignal("backoffPeriodGenerated")
 
static simsignal_t backoffStartedSignal = cComponent::registerSignal("backoffStarted")
 
static simsignal_t backoffStoppedSignal = cComponent::registerSignal("backoffStopped")
 
static simsignal_t channelAccessGrantedSignal = cComponent::registerSignal("channelAccessGranted")
 

Detailed Description

Abstract interface for processes that implement contention-based channel access.

For each frame, Contention listens on the channel for a DIFS (AIFS) period then for a random backoff period before transmitting the frame, and defers when busy channel is sensed. After receiving a corrupted frame, EIFS is used instead of the original DIFS (AIFS).

Note that waiting for an ACK (or CTS) and initiating the retransmission if it does not arrive is not handled by this process. Instead, that is typically performed by a frame exchange class INET_API inside UpperMac (see IFrameExchange, IUpperMac).

Constructor & Destructor Documentation

◆ ~IContention()

virtual inet::ieee80211::IContention::~IContention ( )
inlinevirtual
46 {}

Member Function Documentation

◆ corruptedFrameReceived()

virtual void inet::ieee80211::IContention::corruptedFrameReceived ( )
pure virtual

Implemented in inet::ieee80211::Contention.

◆ isContentionInProgress()

virtual bool inet::ieee80211::IContention::isContentionInProgress ( )
pure virtual

Implemented in inet::ieee80211::Contention.

◆ mediumStateChanged()

virtual void inet::ieee80211::IContention::mediumStateChanged ( bool  mediumFree)
pure virtual

◆ startContention()

virtual void inet::ieee80211::IContention::startContention ( int  cw,
simtime_t  ifs,
simtime_t  eifs,
simtime_t  slotTime,
ICallback callback 
)
pure virtual

Implemented in inet::ieee80211::Contention.

Member Data Documentation

◆ backoffPeriodGeneratedSignal

simsignal_t inet::ieee80211::IContention::backoffPeriodGeneratedSignal = cComponent::registerSignal("backoffPeriodGenerated")
static

◆ backoffStartedSignal

simsignal_t inet::ieee80211::IContention::backoffStartedSignal = cComponent::registerSignal("backoffStarted")
static

◆ backoffStoppedSignal

simsignal_t inet::ieee80211::IContention::backoffStoppedSignal = cComponent::registerSignal("backoffStopped")
static

◆ channelAccessGrantedSignal

simsignal_t inet::ieee80211::IContention::channelAccessGrantedSignal = cComponent::registerSignal("channelAccessGranted")
static

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