ns-3
ns3::AarfcdWifiManager Class Reference

an implementation of the AARF-CD algorithmThis algorithm was first described in "Efficient Collision Detection for Auto Rate Fallback Algorithm". The implementation available here was done by Federico Maguolo for a very early development version of ns-3. Federico died before merging this work in ns-3 itself so his code was ported to ns-3 later without his supervision. More...

#include <aarfcd-wifi-manager.h>

Inheritance diagram for ns3::AarfcdWifiManager:
Collaboration diagram for ns3::AarfcdWifiManager:

List of all members.

Static Public Member Functions

static TypeId GetTypeId (void)
 This method returns the TypeId associated to ns3::AarfcdWifiManager.

Detailed Description

an implementation of the AARF-CD algorithm

This algorithm was first described in "Efficient Collision Detection for Auto Rate Fallback Algorithm". The implementation available here was done by Federico Maguolo for a very early development version of ns-3. Federico died before merging this work in ns-3 itself so his code was ported to ns-3 later without his supervision.


Member Function Documentation

This method returns the TypeId associated to ns3::AarfcdWifiManager.

This object is accessible through the following paths with Config::Set and Config::Connect:

  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::AlohaNoackNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiNetDevice/RemoteStationManager/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::NonCommunicatingNetDevice/Phy/$ns3::WifiRemoteStationManager/$ns3::AarfcdWifiManager
  • /NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/RemoteStationManager/$ns3::AarfcdWifiManager

Attributes defined for this type:

  • SuccessK: Multiplication factor for the success threshold in the AARF algorithm.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 2
    • Flags: construct write read
  • TimerK: Multiplication factor for the timer threshold in the AARF algorithm.
    • Set with class: ns3::DoubleValue
    • Underlying type: double -1.79769e+308:1.79769e+308
    • Initial value: 2
    • Flags: construct write read
  • MaxSuccessThreshold: Maximum value of the success threshold in the AARF algorithm.
  • MinTimerThreshold: The minimum value for the 'timer' threshold in the AARF algorithm.
  • MinSuccessThreshold: The minimum value for the success threshold in the AARF algorithm.
  • MinRtsWnd: Minimum value for Rts window of Aarf-CD
  • MaxRtsWnd: Maximum value for Rts window of Aarf-CD
  • TurnOffRtsAfterRateDecrease: If true the RTS mechanism will be turned off when the rate will be decreased
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • TurnOnRtsAfterRateIncrease: If true the RTS mechanism will be turned on when the rate will be increased
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read

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: