ns3::ArfWifiRemoteStation Class Reference

#include <arf-wifi-manager.h>

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

List of all members.

Public Member Functions

 ArfWifiRemoteStation (Ptr< ArfWifiManager > stations, int minTimerTimeout, int minSuccessThreshold)
virtual ~ArfWifiRemoteStation ()

Protected Member Functions

virtual void DoReportRxOk (double rxSnr, WifiMode txMode)
virtual void DoReportRtsFailed (void)
virtual void DoReportDataFailed (void)
virtual void DoReportRtsOk (double ctsSnr, WifiMode ctsMode, double rtsSnr)
virtual void DoReportDataOk (double ackSnr, WifiMode ackMode, double dataSnr)
virtual void DoReportFinalRtsFailed (void)
virtual void DoReportFinalDataFailed (void)
uint32_t GetMinTimerTimeout (void)
uint32_t GetMinSuccessThreshold (void)
uint32_t GetTimerTimeout (void)
uint32_t GetSuccessThreshold (void)
void SetTimerTimeout (uint32_t timerTimeout)
void SetSuccessThreshold (uint32_t successThreshold)

Private Member Functions

virtual Ptr
< WifiRemoteStationManager
GetManager (void) const
virtual WifiMode DoGetDataMode (uint32_t size)
virtual WifiMode DoGetRtsMode (void)
virtual void ReportRecoveryFailure (void)
virtual void ReportFailure (void)
uint32_t GetMaxRate (void)
uint32_t GetMinRate (void)
bool NeedRecoveryFallback (void)
bool NeedNormalFallback (void)

Private Attributes

uint32_t m_timer
uint32_t m_success
uint32_t m_failed
bool m_recovery
uint32_t m_retry
uint32_t m_timerTimeout
uint32_t m_successThreshold
uint32_t m_rate
uint32_t m_minTimerTimeout
uint32_t m_minSuccessThreshold
Ptr< ArfWifiManagerm_stations

Detailed Description

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


Constructor & Destructor Documentation

ns3::ArfWifiRemoteStation::ArfWifiRemoteStation ( Ptr< ArfWifiManager stations,
int  minTimerTimeout,
int  minSuccessThreshold 
)
ns3::ArfWifiRemoteStation::~ArfWifiRemoteStation (  )  [virtual]

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


Member Function Documentation

WifiMode ns3::ArfWifiRemoteStation::DoGetDataMode ( uint32_t  size  )  [private, virtual]

Implements ns3::WifiRemoteStation.

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

References ns3::WifiRemoteStation::GetSupportedMode(), and m_rate.

WifiMode ns3::ArfWifiRemoteStation::DoGetRtsMode ( void   )  [private, virtual]
void ns3::ArfWifiRemoteStation::DoReportDataFailed ( void   )  [protected, virtual]

It is important to realize that "recovery" mode starts after failure of the first transmission after a rate increase and ends at the first successful transmission. Specifically, recovery mode transcends retransmissions boundaries. Fundamentally, ARF handles each data transmission independently, whether it is the initial transmission of a packet or the retransmission of a packet. The fundamental reason for this is that there is a backoff between each data transmission, be it an initial transmission or a retransmission.

Implements ns3::WifiRemoteStation.

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

References GetMinRate(), m_failed, m_rate, m_recovery, m_retry, m_success, m_timer, NeedNormalFallback(), NeedRecoveryFallback(), NS_ASSERT, ReportFailure(), and ReportRecoveryFailure().

void ns3::ArfWifiRemoteStation::DoReportDataOk ( double  ackSnr,
WifiMode  ackMode,
double  dataSnr 
) [protected, virtual]
void ns3::ArfWifiRemoteStation::DoReportFinalDataFailed ( void   )  [protected, virtual]

Implements ns3::WifiRemoteStation.

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

void ns3::ArfWifiRemoteStation::DoReportFinalRtsFailed ( void   )  [protected, virtual]

Implements ns3::WifiRemoteStation.

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

void ns3::ArfWifiRemoteStation::DoReportRtsFailed ( void   )  [protected, virtual]

Implements ns3::WifiRemoteStation.

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

void ns3::ArfWifiRemoteStation::DoReportRtsOk ( double  ctsSnr,
WifiMode  ctsMode,
double  rtsSnr 
) [protected, virtual]

Implements ns3::WifiRemoteStation.

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

References NS_LOG_DEBUG.

void ns3::ArfWifiRemoteStation::DoReportRxOk ( double  rxSnr,
WifiMode  txMode 
) [protected, virtual]

Implements ns3::WifiRemoteStation.

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

Ptr< WifiRemoteStationManager > ns3::ArfWifiRemoteStation::GetManager ( void   )  const [private, virtual]

Implements ns3::WifiRemoteStation.

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

References m_stations.

uint32_t ns3::ArfWifiRemoteStation::GetMaxRate ( void   )  [private]

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

References ns3::WifiRemoteStation::GetNSupportedModes().

Referenced by DoReportDataOk().

uint32_t ns3::ArfWifiRemoteStation::GetMinRate ( void   )  [private]

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

Referenced by ArfWifiRemoteStation(), and DoReportDataFailed().

uint32_t ns3::ArfWifiRemoteStation::GetMinSuccessThreshold ( void   )  [protected]

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

References m_minSuccessThreshold.

Referenced by ns3::AarfWifiRemoteStation::ReportFailure().

uint32_t ns3::ArfWifiRemoteStation::GetMinTimerTimeout ( void   )  [protected]
uint32_t ns3::ArfWifiRemoteStation::GetSuccessThreshold ( void   )  [protected]
uint32_t ns3::ArfWifiRemoteStation::GetTimerTimeout ( void   )  [protected]

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

References m_timerTimeout.

Referenced by DoReportDataOk().

bool ns3::ArfWifiRemoteStation::NeedNormalFallback ( void   )  [private]

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

References m_retry.

Referenced by DoReportDataFailed().

bool ns3::ArfWifiRemoteStation::NeedRecoveryFallback ( void   )  [private]

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

References m_retry.

Referenced by DoReportDataFailed().

void ns3::ArfWifiRemoteStation::ReportFailure ( void   )  [private, virtual]

Reimplemented in ns3::AarfWifiRemoteStation.

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

Referenced by DoReportDataFailed().

void ns3::ArfWifiRemoteStation::ReportRecoveryFailure ( void   )  [private, virtual]

Reimplemented in ns3::AarfWifiRemoteStation.

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

Referenced by DoReportDataFailed().

void ns3::ArfWifiRemoteStation::SetSuccessThreshold ( uint32_t  successThreshold  )  [protected]
void ns3::ArfWifiRemoteStation::SetTimerTimeout ( uint32_t  timerTimeout  )  [protected]

Member Data Documentation

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

Referenced by ArfWifiRemoteStation(), DoReportDataFailed(), and DoReportDataOk().

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

Referenced by ArfWifiRemoteStation(), GetMinTimerTimeout(), and SetTimerTimeout().

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

Referenced by ArfWifiRemoteStation(), DoReportDataFailed(), and DoReportDataOk().

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

Referenced by GetManager().

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

Referenced by ArfWifiRemoteStation(), DoReportDataFailed(), and DoReportDataOk().

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

Referenced by ArfWifiRemoteStation(), DoReportDataFailed(), and DoReportDataOk().

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

Referenced by ArfWifiRemoteStation(), GetTimerTimeout(), and SetTimerTimeout().


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