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."
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
ARFRateControl | simple module | (no description) |
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 | 2 |
When the transmission of probing packet fails, we multiply by "increaseThresholdFactor" the increaseThreshold. |
maxIncreaseThreshold | int | 50 |
Upper bound for increaseThreshold. |
Name | Value | Description |
---|---|---|
display | i=block/cogwheel |
Name | Type | Unit |
---|---|---|
datarate |
Name | Title | Source | Record | Unit | Interpolation Mode |
---|---|---|---|---|---|
datarate | vector |
// 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." // simple AARFRateControl like IRateControl { parameters: double initialRate @unit("bps") = default(-1bps); // -1 means fastest mandatory rate double interval @unit("s") = default(50ms); // The rate (unconditionally) increases after each time interval (the default interval is unspecified [2]). int increaseThreshold = default(10); // Number of successful transmissions needed to increase the rate int decreaseThreshold = default(2); // Number of consecutive unsuccessful transmissions (in the sense that ACK does not arrive within timeout) // needed to increase the rate double increaseThresholdFactor = default(2); // When the transmission of probing packet fails, we multiply by "increaseThresholdFactor" the increaseThreshold. int maxIncreaseThreshold = default(50); // Upper bound for increaseThreshold. @display("i=block/cogwheel"); @signal[datarate]; @statistic[datarate](record=vector); }