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.

Public Member Functions

 ArfWifiManager ()
virtual ~ArfWifiManager ()

Static Public Member Functions

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

Private Member Functions

virtual class WifiRemoteStationCreateStation (void)

Private Attributes

uint32_t m_timerThreshold
uint32_t m_successThreshold

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.)

Definition at line 41 of file arf-wifi-manager.h.


Constructor & Destructor Documentation

ns3::ArfWifiManager::ArfWifiManager (  ) 

Definition at line 243 of file arf-wifi-manager.cc.

ns3::ArfWifiManager::~ArfWifiManager (  )  [virtual]

Definition at line 245 of file arf-wifi-manager.cc.


Member Function Documentation

WifiRemoteStation * ns3::ArfWifiManager::CreateStation ( void   )  [private, virtual]

Implements ns3::WifiRemoteStationManager.

Reimplemented in ns3::AarfWifiManager.

Definition at line 248 of file arf-wifi-manager.cc.

References m_successThreshold, and m_timerThreshold.

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]/$ns3WifiNetDevice/RemoteStationManager/$ns3ArfWifiManager

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.

No TraceSources defined for this type.

Reimplemented from ns3::WifiRemoteStationManager.

Reimplemented in ns3::AarfWifiManager.

Definition at line 225 of file arf-wifi-manager.cc.

References ns3::TypeId::AddAttribute(), m_successThreshold, m_timerThreshold, and ns3::TypeId::SetParent().


Member Data Documentation

Definition at line 51 of file arf-wifi-manager.h.

Referenced by CreateStation(), and GetTypeId().

Definition at line 50 of file arf-wifi-manager.h.

Referenced by CreateStation(), and GetTypeId().


The documentation for this class was generated from the following files:
Generated on Thu Dec 3 14:10:52 2009 for NS-3 by  doxygen 1.6.3