Simple Module ARFRateControl

Package: inet.linklayer.ieee80211.mac.ratecontrol
File: src/inet/linklayer/ieee80211/mac/ratecontrol/ARFRateControl.ned

C++ definition

(no description)

ARFRateControl

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Inheritance diagram:

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

Extends:

Name Type Description
AARFRateControl simple module

References: [1] ftp://ftp-sop.inria.fr/planete/ivs/papers/mswim04.pdf [2] http://research.microsoft.com/en-us/projects/mesh/mobicom01.pdf "However, there is a clear threshold region in the 40ms-60ms range, depending on the degree of mobility, beyond which there is little performance change but below which there is a noticeable drop."

Parameters:

Name Type Default value Description
initialRate double -1bps -1 means fastest mandatory rate
interval double 50ms

The rate (unconditionally) increases after each time interval (the default interval is unspecified [2]).

increaseThreshold int 10

Number of successful transmissions needed to increase the rate

decreaseThreshold int 2

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

increaseThresholdFactor double 1

When the transmission of probing packet fails, we multiply by "increaseThresholdFactor" the increaseThreshold.

maxIncreaseThreshold int 50

Upper bound for increaseThreshold.

Properties:

Name Value Description
display i=block/cogwheel

Signals:

Name Type Unit
datarate

Statistics:

Name Title Source Record Unit Interpolation Mode
datarate vector

Source code:

simple ARFRateControl extends AARFRateControl
{
    parameters:
        increaseThresholdFactor = default(1);
        @display("i=block/cogwheel");
}