QosRateSelection

Package: inet.linklayer.ieee80211.mac.rateselection

simple module QosRateSelection

Implements rate selection for IEEE 802.11 QoS frames. Selects appropriate transmission rates for different frame types (data, management, control, response) based on configured parameters and dynamic conditions. Supports different bitrates for multicast frames, response frames (ACK, CTS, BlockAck), and can use a rate control module for dynamic rate adaptation.

See also: IRateControl

inet.linklayer.ieee80211.mac.rateselection.QosRateSelectionQosRateSelectionsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

Hcf

compound module

Implements the HCF (Hybrid 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

rateControlModule

string

multicastFrameBitrate

double

-1bps

responseAckFrameBitrate

double

-1bps

responseBlockAckFrameBitrate

double

-1bps

responseCtsFrameBitrate

double

-1bps

dataFrameBitrate

double

-1bps

Fastest

dataFrameBandwidth

double

nan Hz

Unspecified by default

dataFrameNumSpatialStreams

int

-1

Unspecified by default

mgmtFrameBitrate

double

-1bps

Fastest

controlFrameBitrate

double

-1bps

Properties

Name

Value

Description

class

QosRateSelection

display

i=block/cogwheel

Source code

//
// Implements rate selection for IEEE 802.11 QoS frames.
// Selects appropriate transmission rates for different frame types (data, management,
// control, response) based on configured parameters and dynamic conditions. Supports
// different bitrates for multicast frames, response frames (ACK, CTS, BlockAck), and
// can use a rate control module for dynamic rate adaptation.
//
// @see IRateControl
//
simple QosRateSelection extends SimpleModule
{
    parameters:
        @class(QosRateSelection);
        string rateControlModule;

        double multicastFrameBitrate @unit(bps) = default(-1bps);

        double responseAckFrameBitrate @unit(bps) = default(-1bps);
        double responseBlockAckFrameBitrate @unit(bps) = default(-1bps);
        double responseCtsFrameBitrate @unit(bps) = default(-1bps);

        double dataFrameBitrate @unit(bps) = default(-1bps); // Fastest
        double dataFrameBandwidth @unit(Hz) = default(nan Hz); // Unspecified by default
        int dataFrameNumSpatialStreams = default(-1); // Unspecified by default

        double mgmtFrameBitrate @unit(bps) = default(-1bps); // Fastest
        double controlFrameBitrate @unit(bps) = default(-1bps);
        @display("i=block/cogwheel");
}

File: src/inet/linklayer/ieee80211/mac/rateselection/QosRateSelection.ned