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
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Implements the HCF (Hybrid Coordination Function) for IEEE 802.11. |
Extends¶
Name |
Type |
Description |
|---|---|---|
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