RateSelection

Package: inet.linklayer.ieee80211.mac.rateselection

simple module RateSelection

Implements the default rate selection algorithm. Rate selection decides what bit rate (or MCS) should be used for control frames, management frames and data frames.

inet.linklayer.ieee80211.mac.rateselection.RateSelectionRateSelectionsimple

Usage diagram

Inheritance diagram

Used in compound modules

Name

Type

Description

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

rateControlModule

string

multicastFrameBitrate

double

-1bps

responseAckFrameBitrate

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

RateSelection

display

i=block/cogwheel

Source code

//
// Implements the default rate selection algorithm. Rate selection decides what bit rate
// (or MCS) should be used for control frames, management frames and data frames.
//
simple RateSelection extends SimpleModule like IRateSelection
{
    parameters:
        @class(RateSelection);
        string rateControlModule;

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

        double responseAckFrameBitrate @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/RateSelection.ned