src/devices/wifi/wifi-remote-station-manager.cc
changeset 4324 951aec5a7b9a
parent 4079 210d64d11998
child 4502 07d34c0d8d18
child 4966 29d73c832841
--- a/src/devices/wifi/wifi-remote-station-manager.cc	Thu Apr 16 11:10:27 2009 +0200
+++ b/src/devices/wifi/wifi-remote-station-manager.cc	Thu Apr 16 11:17:31 2009 +0200
@@ -97,7 +97,7 @@
 WifiMode 
 NonUnicastWifiRemoteStation::DoGetDataMode (uint32_t size)
 {
-  WifiMode mode = m_stations->GetBasicMode (0);
+  WifiMode mode = m_stations->GetNonUnicastMode ();
   NS_LOG_DEBUG ("non-unicast size="<<size<<", mode="<<mode);
   return mode;
 }
@@ -155,6 +155,10 @@
                    UintegerValue (1500),
                    MakeUintegerAccessor (&WifiRemoteStationManager::m_fragmentationThreshold),
                    MakeUintegerChecker<uint32_t> ())
+    .AddAttribute ("NonUnicastMode", "Wifi mode used for non-unicast transmissions.",
+                   WifiModeValue (),
+                   MakeWifiModeAccessor (&WifiRemoteStationManager::m_nonUnicastMode),
+                   MakeWifiModeChecker ())
     ;
   return tid;
 }
@@ -305,6 +309,14 @@
 {
   return m_isLowLatency;
 }
+WifiMode
+WifiRemoteStationManager::GetNonUnicastMode (void) const
+{
+  if (m_nonUnicastMode == WifiMode ())
+    return GetBasicMode(0);
+  else
+    return m_nonUnicastMode;
+}
 
 } // namespace ns3