TxopProcedure¶
Package: inet.linklayer.ieee80211.mac.originator
simple module TxopProcedure
Implements the Transmission Opportunity (TXOP) mechanism in IEEE 802.11 QoS networks. Manages TXOP periods during which a station has the right to transmit. Tracks TXOP limits based on access category (AC) and PHY mode. Supports both single and multiple protection mechanisms to protect frame exchanges during the TXOP.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Implements EDCAF (Enhanced Distributed Channel Access Function) for IEEE 802.11. EDCAF represents one access category within EDCA. |
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 |
txopLimit |
double |
-1s |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
TxopProcedure |
|
display |
i=block/timer |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
txopEnded |
|||
txopStarted |
Statistics¶
Name |
Title |
Source |
Record |
Unit |
Interpolation Mode |
Description |
|---|---|---|---|---|---|---|
txopActive |
txop active |
warmup(count(txopStarted)-count(txopEnded)) |
vector |
sample-hold |
||
txopDuration |
txop duration |
txopDuration(txopEnded) |
histogram,vector? |
none |
||
txopEnded |
txops ended |
txopEnded |
count,vector? |
none |
Source code¶
//
// Implements the Transmission Opportunity (TXOP) mechanism in IEEE 802.11 QoS
// networks. Manages TXOP periods during which a station has the right to transmit.
// Tracks TXOP limits based on access category (AC) and PHY mode. Supports both single
// and multiple protection mechanisms to protect frame exchanges during the TXOP.
//
simple TxopProcedure extends SimpleModule
{
parameters:
@class(TxopProcedure);
double txopLimit @unit(s) = default(-1s);
@display("i=block/timer");
@signal[txopStarted](inet::ieee80211::TxopProcedure);
@signal[txopEnded](inet::ieee80211::TxopProcedure);
@statistic[txopEnded](title="txops ended"; source=txopEnded; record=count,vector?; interpolationmode=none);
@statistic[txopDuration](title="txop duration"; source=txopDuration(txopEnded); record=histogram,vector?; interpolationmode=none);
@statistic[txopActive](title="txop active"; source=warmup(count(txopStarted)-count(txopEnded)); record=vector; interpolationmode=sample-hold; autoWarmupFilter=false);
}
File: src/inet/linklayer/ieee80211/mac/originator/TxopProcedure.ned