ns3::ArfWifiManager Class Reference

ARF Rate control algorithm. More...

#include <arf-wifi-manager.h>

Inheritance diagram for ns3::ArfWifiManager:

Inheritance graph
[legend]
Collaboration diagram for ns3::ArfWifiManager:

Collaboration graph
[legend]

List of all members.

Static Public Member Functions

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


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::WifiNetDevice/RemoteStationManager/$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.
    • Set with class: BooleanValue
    • Underlying type: bool
    • Initial value: true
    • Flags: construct write read
  • 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 a data packet is bigger than this value, we use an RTS/CTS handshake before sending the data. This value will not have any effect on some rate control algorithms.
  • FragmentationThreshold: If a data packet is bigger than this value, we fragment it such that the size of the fragments are equal or smaller than this value. 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.

Reimplemented from ns3::WifiRemoteStationManager.

Reimplemented in ns3::AarfWifiManager.


The documentation for this class was generated from the following files:

Generated on Fri Apr 9 15:01:09 2010 for NS-3 by  doxygen 1.5.8