00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "constant-rate-wifi-manager.h"
00022
00023 #include "ns3/string.h"
00024 #include "ns3/assert.h"
00025
00026 namespace ns3 {
00027
00028 ConstantRateWifiRemoteStation::ConstantRateWifiRemoteStation (Ptr<ConstantRateWifiManager> manager)
00029 : m_manager (manager)
00030 {}
00031 ConstantRateWifiRemoteStation::~ConstantRateWifiRemoteStation ()
00032 {}
00033
00034 void
00035 ConstantRateWifiRemoteStation::DoReportRxOk (double rxSnr, WifiMode txMode)
00036 {}
00037 void
00038 ConstantRateWifiRemoteStation::DoReportRtsFailed (void)
00039 {}
00040 void
00041 ConstantRateWifiRemoteStation::DoReportDataFailed (void)
00042 {}
00043 void
00044 ConstantRateWifiRemoteStation::DoReportRtsOk (double ctsSnr, WifiMode ctsMode, double rtsSnr)
00045 {}
00046 void
00047 ConstantRateWifiRemoteStation::DoReportDataOk (double ackSnr, WifiMode ackMode, double dataSnr)
00048 {}
00049 void
00050 ConstantRateWifiRemoteStation::DoReportFinalRtsFailed (void)
00051 {}
00052 void
00053 ConstantRateWifiRemoteStation::DoReportFinalDataFailed (void)
00054 {}
00055
00056 WifiMode
00057 ConstantRateWifiRemoteStation::DoGetDataMode (uint32_t size)
00058 {
00059 return m_manager->GetDataMode ();
00060 }
00061 WifiMode
00062 ConstantRateWifiRemoteStation::DoGetRtsMode (void)
00063 {
00064 return m_manager->GetCtlMode ();
00065 }
00066 Ptr<WifiRemoteStationManager>
00067 ConstantRateWifiRemoteStation::GetManager (void) const
00068 {
00069 return m_manager;
00070 }
00071
00072 NS_OBJECT_ENSURE_REGISTERED (ConstantRateWifiManager);
00073
00074 TypeId
00075 ConstantRateWifiManager::GetTypeId (void)
00076 {
00077 static TypeId tid = TypeId ("ns3::ConstantRateWifiManager")
00078 .SetParent<WifiRemoteStationManager> ()
00079 .AddConstructor<ConstantRateWifiManager> ()
00080 .AddAttribute ("DataMode", "The transmission mode to use for every data packet transmission",
00081 StringValue ("wifia-6mbs"),
00082 MakeWifiModeAccessor (&ConstantRateWifiManager::m_dataMode),
00083 MakeWifiModeChecker ())
00084 .AddAttribute ("ControlMode", "The transmission mode to use for every control packet transmission.",
00085 StringValue ("wifia-6mbs"),
00086 MakeWifiModeAccessor (&ConstantRateWifiManager::m_ctlMode),
00087 MakeWifiModeChecker ())
00088 ;
00089 return tid;
00090 }
00091
00092 ConstantRateWifiManager::ConstantRateWifiManager ()
00093 {}
00094 ConstantRateWifiManager::~ConstantRateWifiManager ()
00095 {}
00096
00097 WifiMode
00098 ConstantRateWifiManager::GetDataMode (void) const
00099 {
00100 return m_dataMode;
00101 }
00102 WifiMode
00103 ConstantRateWifiManager::GetCtlMode (void) const
00104 {
00105 return m_ctlMode;
00106 }
00107
00108
00109 WifiRemoteStation *
00110 ConstantRateWifiManager::CreateStation (void)
00111 {
00112 return new ConstantRateWifiRemoteStation (this);
00113 }
00114
00115 }