INET Framework for OMNeT++/OMNEST
|
The default implementation of IContention. More...
#include <Contention.h>
Public Types | |
enum | State { IDLE, DEFER, IFS_AND_BACKOFF } |
enum | EventType { START, MEDIUM_STATE_CHANGED, CORRUPTED_FRAME_RECEIVED, CHANNEL_ACCESS_GRANTED } |
Public Member Functions | |
Contention () | |
~Contention () | |
virtual void | startContention (int cw, simtime_t ifs, simtime_t eifs, simtime_t slotTime, ICallback *callback) override |
virtual void | mediumStateChanged (bool mediumFree) override |
virtual void | corruptedFrameReceived () override |
virtual bool | isContentionInProgress () override |
Public Member Functions inherited from inet::ieee80211::IContention | |
virtual | ~IContention () |
virtual void | startContention (int cw, simtime_t ifs, simtime_t eifs, simtime_t slotTime, ICallback *callback)=0 |
Static Public Attributes | |
static simsignal_t | stateChangedSignal = registerSignal("stateChanged") |
Protected Member Functions | |
virtual int | numInitStages () const override |
virtual void | initialize (int stage) override |
virtual void | handleMessage (cMessage *msg) override |
virtual void | handleWithFSM (EventType event) |
virtual void | scheduleTransmissionRequest () |
virtual void | scheduleTransmissionRequestFor (simtime_t txStartTime) |
virtual void | cancelTransmissionRequest () |
virtual void | switchToEifs () |
virtual void | computeRemainingBackoffSlots () |
virtual void | revokeBackoffOptimization () |
virtual void | updateDisplayString (simtime_t expectedChannelAccess) |
const char * | getEventName (EventType event) |
Protected Attributes | |
Ieee80211Mac * | mac = nullptr |
ICallback * | callback = nullptr |
cMessage * | startTxEvent = nullptr |
cMessage * | channelGrantedEvent = nullptr |
simtime_t | ifs = SIMTIME_ZERO |
simtime_t | eifs = SIMTIME_ZERO |
simtime_t | slotTime = SIMTIME_ZERO |
cFSM | fsm |
simtime_t | endEifsTime = SIMTIME_ZERO |
int | backoffSlots = 0 |
simtime_t | scheduledTransmissionTime = SIMTIME_ZERO |
simtime_t | lastChannelBusyTime = SIMTIME_ZERO |
simtime_t | lastIdleStartTime = SIMTIME_ZERO |
simtime_t | backoffOptimizationDelta = SIMTIME_ZERO |
bool | mediumFree = true |
bool | backoffOptimization = true |
simtime_t | startTime = SIMTIME_ZERO |
The default implementation of IContention.
inet::ieee80211::Contention::~Contention | ( | ) |
|
protectedvirtual |
Referenced by handleWithFSM(), revokeBackoffOptimization(), and switchToEifs().
|
protectedvirtual |
Referenced by handleWithFSM(), and revokeBackoffOptimization().
|
overridevirtual |
Implements inet::ieee80211::IContention.
|
protected |
Referenced by handleWithFSM().
|
overrideprotectedvirtual |
|
protectedvirtual |
Referenced by corruptedFrameReceived(), handleMessage(), mediumStateChanged(), and startContention().
|
overrideprotectedvirtual |
|
inlineoverridevirtual |
Implements inet::ieee80211::IContention.
|
overridevirtual |
Implements inet::ieee80211::IContention.
|
inlineoverrideprotectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Referenced by handleWithFSM(), revokeBackoffOptimization(), and switchToEifs().
|
protectedvirtual |
Referenced by scheduleTransmissionRequest().
|
overridevirtual |
|
protectedvirtual |
Referenced by handleWithFSM().
|
protectedvirtual |
Referenced by cancelTransmissionRequest(), handleWithFSM(), initialize(), and scheduleTransmissionRequestFor().
|
protected |
Referenced by initialize(), and scheduleTransmissionRequest().
|
protected |
Referenced by initialize(), revokeBackoffOptimization(), and scheduleTransmissionRequest().
|
protected |
Referenced by computeRemainingBackoffSlots(), initialize(), scheduleTransmissionRequest(), and startContention().
|
protected |
Referenced by cancelTransmissionRequest(), handleMessage(), scheduleTransmissionRequestFor(), and startContention().
|
protected |
Referenced by handleMessage(), handleWithFSM(), initialize(), startContention(), and ~Contention().
|
protected |
Referenced by handleWithFSM(), initialize(), scheduleTransmissionRequest(), startContention(), and switchToEifs().
|
protected |
Referenced by handleWithFSM(), initialize(), scheduleTransmissionRequest(), and switchToEifs().
|
protected |
Referenced by handleWithFSM(), initialize(), scheduleTransmissionRequest(), startContention(), and updateDisplayString().
|
protected |
Referenced by initialize(), scheduleTransmissionRequest(), and startContention().
|
protected |
Referenced by initialize(), mediumStateChanged(), and scheduleTransmissionRequest().
|
protected |
Referenced by handleWithFSM(), initialize(), and scheduleTransmissionRequest().
|
protected |
Referenced by handleWithFSM(), and initialize().
|
protected |
Referenced by handleWithFSM(), initialize(), mediumStateChanged(), and scheduleTransmissionRequest().
|
protected |
Referenced by computeRemainingBackoffSlots(), initialize(), revokeBackoffOptimization(), and scheduleTransmissionRequest().
|
protected |
Referenced by computeRemainingBackoffSlots(), initialize(), scheduleTransmissionRequest(), and startContention().
|
protected |
Referenced by handleMessage(), and startContention().
|
protected |
Referenced by cancelTransmissionRequest(), handleMessage(), handleWithFSM(), initialize(), scheduleTransmissionRequestFor(), and ~Contention().
|
static |
Referenced by handleWithFSM().