ArfRateControl

Package: inet.linklayer.ieee80211.mac.ratecontrol

simple module ArfRateControl

Implements the Auto Rate Fallback (ARF) adaptive rate control mechanism.

inet.linklayer.ieee80211.mac.ratecontrol.ArfRateControlArfRateControlsimple

Inheritance diagram

Extends

Name

Type

Description

AarfRateControl

simple module

Implements the Adaptive ARF (AARF) rate control mechanism, which was initially described in IEEE 802.11 Rate Adaptation: A Practical Approach, by M. Lacage, M.H. Manshaei, and T. Turletti, 2004.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“{currentMode}”

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

initialRate

double

-1bps

-1 means the fastest mandatory rate

interval

double

50ms

The rate (unconditionally) increases after each time interval.

increaseThreshold

int

10

Number of successful transmissions needed to increase the rate

decreaseThreshold

int

2

Number of consecutive unsuccessful transmissions (in the sense that the ACK does not arrive within the timeout)

increaseThresholdFactor

double

1

When the transmission of the probing packet fails, increaseThreshold is multiplied by increaseThresholdFactor.

maxIncreaseThreshold

int

50

Upper bound for increaseThreshold.

Properties

Name

Value

Description

class

AarfRateControl

display

i=block/cogwheel

Signals

Name

Type

Unit

Description

datarateChanged

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

datarateChanged

datarate

vector

sample-hold

Source code

//
// Implements the Auto Rate Fallback (ARF) adaptive rate
// control mechanism.
//
simple ArfRateControl extends AarfRateControl
{
    parameters:
        increaseThresholdFactor = default(1);
        @display("i=block/cogwheel");
}

File: src/inet/linklayer/ieee80211/mac/ratecontrol/ArfRateControl.ned