implement the CARA rate control algorithmImplement the CARA algorithm from: J. Kim, S. Kim, S. Choi, and D. Qiao. "CARA: Collision-Aware Rate Adaptation for IEEE 802.11 WLANs."
More...
#include <cara-wifi-manager.h>
List of all members.
Detailed Description
implement the CARA rate control algorithm
Implement the CARA algorithm from: J. Kim, S. Kim, S. Choi, and D. Qiao. "CARA: Collision-Aware Rate Adaptation for IEEE 802.11 WLANs."
Originally implemented by Federico Maguolo for a very early prototype version of ns-3.
Member Function Documentation
This method returns the TypeId associated to ns3::CaraWifiManager.
This object is accessible through the following paths with Config::Set and Config::Connect:
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::CaraWifiManager
-
/NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/RemoteStationManager/$ns3::CaraWifiManager
Attributes defined for this type:
-
ProbeThreshold: The number of consecutive transmissions failure to activate the RTS probe.
-
FailureThreshold: The number of consecutive transmissions failure to decrease the rate.
-
SuccessThreshold: The minimum number of sucessfull transmissions to try a new rate.
-
Timeout: The 'timer' in the CARA algorithm
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.
References ns3::TypeId::SetParent().
The documentation for this class was generated from the following files:
- src/wifi/model/cara-wifi-manager.h
- doc/introspected-doxygen.h
- src/wifi/model/cara-wifi-manager.cc