NonQosRecoveryProcedure

Package: inet.linklayer.ieee80211.mac.originator

NonQosRecoveryProcedure

simple module

C++ definition

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.

<b>See also:</b> IRtsPolicy, Dcaf

Inheritance diagram

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
Dcf compound module

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

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.

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