NonQosRecoveryProcedure

Package: inet.linklayer.ieee80211.mac.originator

simple module NonQosRecoveryProcedure

Implements frame retransmission and recovery procedures for non-QoS frames in IEEE 802.11 networks. Manages short and long retry counters, adjusts contention window size based on transmission outcomes, and enforces retry limits. Handles different retry procedures for frames below and above the RTS threshold as specified in IEEE 802.11 standard section 9.19.2.6.

See also: IRtsPolicy, Dcaf

inet.linklayer.ieee80211.mac.originator.NonQosRecoveryProcedureNonQosRecoveryProceduresimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Edca

compound module

Implements EDCA (Enhanced Distributed Channel Access) for IEEE 802.11. The implementation allows for a configurable number of access categories, not just four as defined by the standard.

Dcf

compound module

Implements the DCF (Distributed Coordination Function) for IEEE 802.11.

Extends

Name

Type

Description

SimpleModule

simple module

Base module for all INET simple modules.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

cwCalculatorModule

string

rtsPolicyModule

string

shortRetryLimit

int

7

longRetryLimit

int

4

Properties

Name

Value

Description

class

NonQosRecoveryProcedure

display

i=block/cogwheel

Signals

Name

Type

Unit

Description

contentionWindowChanged

long

retryLimitReached

inet::Packet

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

contentionWindowChanged

contention window

vector

sample-hold

retryLimitReached

retry limit reached

count

Source code

//
// Implements frame retransmission and recovery procedures for non-QoS frames in
// IEEE 802.11 networks. Manages short and long retry counters, adjusts contention
// window size based on transmission outcomes, and enforces retry limits. Handles
// different retry procedures for frames below and above the RTS threshold as
// specified in IEEE 802.11 standard section 9.19.2.6.
//
// @see IRtsPolicy, Dcaf
//
simple NonQosRecoveryProcedure extends SimpleModule
{
    parameters:
        @class(NonQosRecoveryProcedure);
        string cwCalculatorModule;
        string rtsPolicyModule;
        int shortRetryLimit = default(7);
        int longRetryLimit = default(4);
        @display("i=block/cogwheel");
        @signal[contentionWindowChanged](type=long);
        @signal[retryLimitReached](type=inet::Packet);
        @statistic[contentionWindowChanged](title="contention window"; record=vector; interpolationmode=sample-hold);
        @statistic[retryLimitReached](title="retry limit reached"; record=count);
}

File: src/inet/linklayer/ieee80211/mac/originator/NonQosRecoveryProcedure.ned