ARF Rate control algorithm.
More...
#include <arf-wifi-manager.h>
List of all members.
Detailed Description
ARF Rate control algorithm.
This class implements the so-called ARF algorithm which was initially described in WaveLAN-II: A High-performance wireless LAN for the unlicensed band, by A. Kamerman and L. Monteban. in Bell Lab Technical Journal, pages 118-133, Summer 1997.
This implementation differs from the initial description in that it uses a packet-based timer rather than a time-based timer as described in XXX (I cannot find back the original paper which described how the time-based timer could be easily replaced with a packet-based timer.)
Member Function Documentation
static TypeId ns3::ArfWifiManager::GetTypeId |
( |
void |
|
) |
[static] |
This method returns the TypeId associated to ns3::ArfWifiManager.
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/LinkManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/SSManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/NoiseModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Channel/PropagationModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Mac/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::UanNetDevice/Transducer/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/BsIpcsPacketClassifier/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/LinkManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/SSManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::BaseStationNetDevice/ServiceFlowManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/Classifier/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/LinkManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/$ns3::SubscriberStationNetDevice/SSScheduler/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BandwidthManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/BurstProfileManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/NoiseModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Channel/$ns3::UanChannel/PropagationModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/ConnectionManager/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/NoiseModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::WifiNetDevice/RemoteStationManager/$ns3::ArfWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WimaxNetDevice/Phy/Channel/$ns3::UanChannel/PropagationModel/$ns3::WifiRemoteStationManager/$ns3::ArfWifiManager
Attributes defined for this type:
-
TimerThreshold: The 'timer' threshold in the ARF algorithm.
-
SuccessThreshold: The minimum number of sucessfull transmissions to try a new rate.
Attributes defined in parent class ns3::WifiRemoteStationManager:
-
IsLowLatency: If true, we attempt to modelize a so-called low-latency device: a device where decisions about tx parameters can be made on a per-packet basis and feedback about the transmission of each packet is obtained before sending the next. Otherwise, we modelize a high-latency device, that is a device where we cannot update our decision about tx parameters after every packet transmission.
-
MaxSsrc: The maximum number of retransmission attempts for an RTS. This value will not have any effect on some rate control algorithms.
-
MaxSlrc: The maximum number of retransmission attempts for a DATA packet. This value will not have any effect on some rate control algorithms.
-
RtsCtsThreshold: If the size of the data packet + LLC header + MAC header + FCS trailer is bigger than this value, we use an RTS/CTS handshake before sending the data, as per IEEE Std. 802.11-2007, Section 9.2.6. This value will not have any effect on some rate control algorithms.
-
FragmentationThreshold: If the size of the data packet + LLC header + MAC header + FCS trailer is biggerthan this value, we fragment it such that the size of the fragments are equal or smaller than this value, as per IEEE Std. 802.11-2007, Section 9.4. This value will not have any effect on some rate control algorithms.
-
NonUnicastMode: Wifi mode used for non-unicast transmissions.
-
Set with class: WifiModeValue
-
Underlying type: WifiMode
-
Initial value: Invalid-WifiMode
-
Flags: construct write read
No TraceSources defined for this type.
TraceSources defined in parent class ns3::WifiRemoteStationManager:
-
MacTxRtsFailed: The transmission of a RTS by the MAC layer has failed
-
MacTxDataFailed: The transmission of a data packet by the MAC layer has failed
-
MacTxFinalRtsFailed: The transmission of a RTS has exceeded the maximum number of attempts
-
MacTxFinalDataFailed: The transmission of a data packet has exceeded the maximum number of attempts
Reimplemented from ns3::WifiRemoteStationManager.
The documentation for this class was generated from the following files:
- src/devices/wifi/arf-wifi-manager.h
- doc/introspected-doxygen.h