118 void |
118 void |
119 RegularWifiMac::SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager) |
119 RegularWifiMac::SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager) |
120 { |
120 { |
121 NS_LOG_FUNCTION (this << stationManager); |
121 NS_LOG_FUNCTION (this << stationManager); |
122 m_stationManager = stationManager; |
122 m_stationManager = stationManager; |
|
123 m_stationManager->SetHtSupported (GetHtSupported()); |
123 m_low->SetWifiRemoteStationManager (stationManager); |
124 m_low->SetWifiRemoteStationManager (stationManager); |
124 |
125 |
125 m_dca->SetWifiRemoteStationManager (stationManager); |
126 m_dca->SetWifiRemoteStationManager (stationManager); |
126 |
127 |
127 for (EdcaQueues::iterator i = m_edca.begin (); i != m_edca.end (); ++i) |
128 for (EdcaQueues::iterator i = m_edca.begin (); i != m_edca.end (); ++i) |
242 bool |
243 bool |
243 RegularWifiMac::GetQosSupported () const |
244 RegularWifiMac::GetQosSupported () const |
244 { |
245 { |
245 return m_qosSupported; |
246 return m_qosSupported; |
246 } |
247 } |
|
248 void |
|
249 RegularWifiMac::SetHtSupported (bool enable) |
|
250 { |
|
251 NS_LOG_FUNCTION (this); |
|
252 m_htSupported = enable; |
|
253 } |
|
254 |
|
255 bool |
|
256 RegularWifiMac::GetHtSupported () const |
|
257 { |
|
258 return m_htSupported; |
|
259 } |
|
260 void |
|
261 RegularWifiMac::SetCtsToSelfSupported(bool enable) |
|
262 { |
|
263 NS_LOG_FUNCTION (this); |
|
264 m_low->SetCtsToSelfSupported (enable); |
|
265 } |
|
266 |
|
267 bool |
|
268 RegularWifiMac::GetCtsToSelfSupported () const |
|
269 { |
|
270 return m_low->GetCtsToSelfSupported (); |
|
271 } |
247 |
272 |
248 void |
273 void |
249 RegularWifiMac::SetSlot (Time slotTime) |
274 RegularWifiMac::SetSlot (Time slotTime) |
250 { |
275 { |
251 NS_LOG_FUNCTION (this << slotTime); |
276 NS_LOG_FUNCTION (this << slotTime); |
282 |
307 |
283 Time |
308 Time |
284 RegularWifiMac::GetEifsNoDifs (void) const |
309 RegularWifiMac::GetEifsNoDifs (void) const |
285 { |
310 { |
286 return m_dcfManager->GetEifsNoDifs (); |
311 return m_dcfManager->GetEifsNoDifs (); |
|
312 } |
|
313 void |
|
314 RegularWifiMac::SetRifs (Time rifs) |
|
315 { |
|
316 NS_LOG_FUNCTION (this << rifs); |
|
317 m_low->SetRifs (rifs); |
|
318 } |
|
319 |
|
320 Time |
|
321 RegularWifiMac::GetRifs (void) const |
|
322 { |
|
323 return m_low->GetRifs(); |
287 } |
324 } |
288 |
325 |
289 void |
326 void |
290 RegularWifiMac::SetPifs (Time pifs) |
327 RegularWifiMac::SetPifs (Time pifs) |
291 { |
328 { |
607 "This Boolean attribute is set to enable 802.11e/WMM-style QoS support at this STA", |
644 "This Boolean attribute is set to enable 802.11e/WMM-style QoS support at this STA", |
608 BooleanValue (false), |
645 BooleanValue (false), |
609 MakeBooleanAccessor (&RegularWifiMac::SetQosSupported, |
646 MakeBooleanAccessor (&RegularWifiMac::SetQosSupported, |
610 &RegularWifiMac::GetQosSupported), |
647 &RegularWifiMac::GetQosSupported), |
611 MakeBooleanChecker ()) |
648 MakeBooleanChecker ()) |
|
649 .AddAttribute ("HtSupported", |
|
650 "This Boolean attribute is set to enable 802.11n support at this STA", |
|
651 BooleanValue (false), |
|
652 MakeBooleanAccessor (&RegularWifiMac::SetHtSupported, |
|
653 &RegularWifiMac::GetHtSupported), |
|
654 MakeBooleanChecker ()) |
|
655 .AddAttribute ("CtsToSelfSupported", |
|
656 "Use CTS to Self when using a rate that is not in the basic set rate", |
|
657 BooleanValue (false), |
|
658 MakeBooleanAccessor (&RegularWifiMac::SetCtsToSelfSupported, |
|
659 &RegularWifiMac::GetCtsToSelfSupported), |
|
660 MakeBooleanChecker ()) |
612 .AddAttribute ("DcaTxop", "The DcaTxop object", |
661 .AddAttribute ("DcaTxop", "The DcaTxop object", |
613 PointerValue (), |
662 PointerValue (), |
614 MakePointerAccessor (&RegularWifiMac::GetDcaTxop), |
663 MakePointerAccessor (&RegularWifiMac::GetDcaTxop), |
615 MakePointerChecker<DcaTxop> ()) |
664 MakePointerChecker<DcaTxop> ()) |
616 .AddAttribute ("VO_EdcaTxopN", |
665 .AddAttribute ("VO_EdcaTxopN", |
661 case WIFI_PHY_STANDARD_holland: |
710 case WIFI_PHY_STANDARD_holland: |
662 case WIFI_PHY_STANDARD_80211a: |
711 case WIFI_PHY_STANDARD_80211a: |
663 case WIFI_PHY_STANDARD_80211g: |
712 case WIFI_PHY_STANDARD_80211g: |
664 case WIFI_PHY_STANDARD_80211_10MHZ: |
713 case WIFI_PHY_STANDARD_80211_10MHZ: |
665 case WIFI_PHY_STANDARD_80211_5MHZ: |
714 case WIFI_PHY_STANDARD_80211_5MHZ: |
|
715 case WIFI_PHY_STANDARD_80211n_5GHZ: |
|
716 case WIFI_PHY_STANDARD_80211n_2_4GHZ: |
666 cwmin = 15; |
717 cwmin = 15; |
667 cwmax = 1023; |
718 cwmax = 1023; |
668 break; |
719 break; |
669 |
720 |
670 case WIFI_PHY_STANDARD_80211b: |
721 case WIFI_PHY_STANDARD_80211b: |