QosRecoveryProcedure

Package: inet.linklayer.ieee80211.mac.originator

simple module QosRecoveryProcedure

Implements frame retransmission and recovery procedures for QoS frames in IEEE 802.11 networks. Manages retry counters for failed transmissions, adjusts contention window size, and enforces retry limits. Maintains separate short and long retry counters based on frame size relative to RTS threshold, and tracks per-TID frame status to support Quality of Service requirements.

See also: IRtsPolicy, Dcaf, Edcaf

inet.linklayer.ieee80211.mac.originator.QosRecoveryProcedureQosRecoveryProceduresimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Edcaf

compound module

Implements EDCAF (Enhanced Distributed Channel Access Function) for IEEE 802.11. EDCAF represents one access category within EDCA.

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

QosRecoveryProcedure

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 QoS frames in IEEE
// 802.11 networks. Manages retry counters for failed transmissions, adjusts
// contention window size, and enforces retry limits. Maintains separate short and
// long retry counters based on frame size relative to RTS threshold, and tracks
// per-TID frame status to support Quality of Service requirements.
//
// @see IRtsPolicy, Dcaf, Edcaf
//
simple QosRecoveryProcedure extends SimpleModule
{
    parameters:
        @class(QosRecoveryProcedure);
        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/QosRecoveryProcedure.ned