Ideal rate control algorithm. More...
#include <ideal-wifi-manager.h>
Public Member Functions | |
IdealWifiManager () | |
virtual | ~IdealWifiManager () |
virtual void | SetupPhy (Ptr< WifiPhy > phy) |
double | GetSnrThreshold (WifiMode mode) const |
void | AddModeSnrThreshold (WifiMode mode, double ber) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
This method returns the TypeId associated to ns3::IdealWifiManager. | |
Private Types | |
typedef std::vector< std::pair < double, WifiMode > > | Thresholds |
Private Member Functions | |
virtual class WifiRemoteStation * | CreateStation (void) |
Private Attributes | |
double | m_ber |
Thresholds | m_thresholds |
double | m_minSnr |
double | m_maxSnr |
Ideal rate control algorithm.
This class implements an 'ideal' rate control algorithm similar to RBAR in spirit (see A rate-adaptive MAC protocol for multihop wireless networks by G. Holland, N. Vaidya, and P. Bahl.): every station keeps track of the snr of every packet received and sends back this snr to the original transmitter by an out-of-band mechanism. Each transmitter keeps track of the last snr sent back by a receiver and uses it to pick a transmission mode based on a set of snr thresholds built from a target ber and transmission mode-specific snr/ber curves.
Definition at line 44 of file ideal-wifi-manager.h.
typedef std::vector<std::pair<double,WifiMode> > ns3::IdealWifiManager::Thresholds [private] |
Definition at line 60 of file ideal-wifi-manager.h.
ns3::IdealWifiManager::IdealWifiManager | ( | ) |
Definition at line 40 of file ideal-wifi-manager.cc.
ns3::IdealWifiManager::~IdealWifiManager | ( | ) | [virtual] |
Definition at line 42 of file ideal-wifi-manager.cc.
void ns3::IdealWifiManager::AddModeSnrThreshold | ( | WifiMode | mode, | |
double | ber | |||
) |
Definition at line 79 of file ideal-wifi-manager.cc.
WifiRemoteStation * ns3::IdealWifiManager::CreateStation | ( | void | ) | [private, virtual] |
Implements ns3::WifiRemoteStationManager.
Definition at line 59 of file ideal-wifi-manager.cc.
double ns3::IdealWifiManager::GetSnrThreshold | ( | WifiMode | mode | ) | const |
Definition at line 65 of file ideal-wifi-manager.cc.
TypeId ns3::IdealWifiManager::GetTypeId | ( | void | ) | [static] |
This method returns the TypeId associated to ns3::IdealWifiManager.
This object is accessible through the following paths with Config::Set and Config::Connect:
Attributes defined for this type:
Attributes defined in parent class ns3::WifiRemoteStationManager:
No TraceSources defined for this type.
Reimplemented from ns3::WifiRemoteStationManager.
Definition at line 26 of file ideal-wifi-manager.cc.
References ns3::TypeId::AddAttribute(), m_ber, ns3::NS_OBJECT_ENSURE_REGISTERED(), and ns3::TypeId::SetParent().
Reimplemented from ns3::WifiRemoteStationManager.
Definition at line 46 of file ideal-wifi-manager.cc.
double ns3::IdealWifiManager::m_ber [private] |
Definition at line 62 of file ideal-wifi-manager.h.
Referenced by GetTypeId().
double ns3::IdealWifiManager::m_maxSnr [private] |
Definition at line 65 of file ideal-wifi-manager.h.
double ns3::IdealWifiManager::m_minSnr [private] |
Definition at line 64 of file ideal-wifi-manager.h.
Definition at line 63 of file ideal-wifi-manager.h.
Referenced by ns3::IdealWifiRemoteStation::IdealWifiRemoteStation().