# HG changeset patch # User Mathieu Lacage # Date 1220384197 25200 # Node ID 721bd46c15f8e62f3e29ec360265f185c348a931 # Parent 7b209b3b6af261653aeb1676df9a85efd6db44fe move slot and pifs down to MacLow diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/adhoc-wifi-mac.cc --- a/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 12:36:37 2008 -0700 @@ -80,7 +80,7 @@ AdhocWifiMac::SetSlot (Time slotTime) { m_dcfManager->SetSlot (slotTime); - m_slot = slotTime; + m_low->SetSlotTime (slotTime); } void AdhocWifiMac::SetSifs (Time sifs) @@ -104,10 +104,15 @@ { m_low->SetCtsTimeout (ctsTimeout); } +void +AdhocWifiMac::SetPifs (Time pifs) +{ + m_low->SetPifs (pifs); +} Time AdhocWifiMac::GetSlot (void) const { - return m_slot; + return m_low->GetSlotTime (); } Time AdhocWifiMac::GetSifs (void) const @@ -129,6 +134,11 @@ { return m_low->GetCtsTimeout (); } +Time +AdhocWifiMac::GetPifs (void) const +{ + return m_low->GetPifs (); +} void AdhocWifiMac::SetWifiPhy (Ptr phy) { diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/adhoc-wifi-mac.h --- a/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 12:36:37 2008 -0700 @@ -58,11 +58,13 @@ virtual void SetEifsNoDifs (Time eifsNoDifs); virtual void SetAckTimeout (Time ackTimeout); virtual void SetCtsTimeout (Time ctsTimeout); + virtual void SetPifs (Time pifs); virtual Time GetSlot (void) const; virtual Time GetSifs (void) const; virtual Time GetEifsNoDifs (void) const; virtual Time GetAckTimeout (void) const; virtual Time GetCtsTimeout (void) const; + virtual Time GetPifs (void) const; virtual void SetWifiPhy (Ptr phy); virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); @@ -91,7 +93,6 @@ MacRxMiddle *m_rxMiddle; Ptr m_low; Ssid m_ssid; - Time m_slot; Time m_eifsNoDifs; }; diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/mac-low.cc --- a/src/devices/wifi/mac-low.cc Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/mac-low.cc Tue Sep 02 12:36:37 2008 -0700 @@ -377,6 +377,16 @@ { m_sifs = sifs; } +void +MacLow::SetSlotTime (Time slotTime) +{ + m_slotTime = slotTime; +} +void +MacLow::SetPifs (Time pifs) +{ + m_pifs = pifs; +} Mac48Address MacLow::GetAddress (void) const { @@ -397,6 +407,16 @@ { return m_sifs; } +Time +MacLow::GetSlotTime (void) const +{ + return m_slotTime; +} +Time +MacLow::GetPifs (void) const +{ + return m_pifs; +} void MacLow::SetRxCallback (Callback,const WifiMacHeader *> callback) @@ -651,16 +671,6 @@ cts.SetType (WIFI_MAC_CTL_CTS); return cts.GetSize () + 4; } -Time -MacLow::GetSlotTime (void) const -{ - return m_mac->GetSlot (); -} -Time -MacLow::GetPifs (void) const -{ - return m_mac->GetPifs (); -} uint32_t MacLow::GetSize (Ptr packet, const WifiMacHeader *hdr) const { diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/mac-low.h --- a/src/devices/wifi/mac-low.h Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/mac-low.h Tue Sep 02 12:36:37 2008 -0700 @@ -288,10 +288,14 @@ void SetAckTimeout (Time ackTimeout); void SetCtsTimeout (Time ctsTimeout); void SetSifs (Time sifs); + void SetSlotTime (Time slotTime); + void SetPifs (Time pifs); Mac48Address GetAddress (void) const; Time GetAckTimeout (void) const; Time GetCtsTimeout (void) const; Time GetSifs (void) const; + Time GetSlotTime (void) const; + Time GetPifs (void) const; /** * \param callback the callback which receives every incoming packet. @@ -355,8 +359,6 @@ uint32_t GetAckSize (void) const; uint32_t GetRtsSize (void) const; uint32_t GetCtsSize (void) const; - Time GetPifs (void) const; - Time GetSlotTime (void) const; uint32_t GetSize (Ptr packet, const WifiMacHeader *hdr) const; Time NowUs (void) const; WifiRemoteStation *GetStation (Mac48Address to) const; @@ -421,6 +423,8 @@ Time m_ackTimeout; Time m_ctsTimeout; Time m_sifs; + Time m_slotTime; + Time m_pifs; Time m_lastNavStart; Time m_lastNavDuration; diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/nqap-wifi-mac.cc --- a/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 12:36:37 2008 -0700 @@ -131,7 +131,7 @@ { NS_LOG_FUNCTION (this << slotTime); m_dcfManager->SetSlot (slotTime); - m_slot = slotTime; + m_low->SetSlotTime (slotTime); } void NqapWifiMac::SetSifs (Time sifs) @@ -157,10 +157,15 @@ { m_low->SetCtsTimeout (ctsTimeout); } +void +NqapWifiMac::SetPifs (Time pifs) +{ + m_low->SetPifs (pifs); +} Time NqapWifiMac::GetSlot (void) const { - return m_slot; + return m_low->GetSlotTime (); } Time NqapWifiMac::GetSifs (void) const @@ -182,6 +187,11 @@ { return m_low->GetCtsTimeout (); } +Time +NqapWifiMac::GetPifs (void) const +{ + return m_low->GetPifs (); +} void NqapWifiMac::SetWifiPhy (Ptr phy) { diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/nqap-wifi-mac.h --- a/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 12:36:37 2008 -0700 @@ -64,11 +64,13 @@ virtual void SetEifsNoDifs (Time eifsNoDifs); virtual void SetAckTimeout (Time ackTimeout); virtual void SetCtsTimeout (Time ctsTimeout); + virtual void SetPifs (Time pifs); virtual Time GetSlot (void) const; virtual Time GetSifs (void) const; virtual Time GetEifsNoDifs (void) const; virtual Time GetAckTimeout (void) const; virtual Time GetCtsTimeout (void) const; + virtual Time GetPifs (void) const; virtual void SetWifiPhy (Ptr phy); virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); @@ -123,7 +125,6 @@ Mac48Address m_address; Ssid m_ssid; EventId m_beaconEvent; - Time m_slot; Time m_eifsNoDifs; }; diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/nqsta-wifi-mac.cc --- a/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 12:36:37 2008 -0700 @@ -131,7 +131,7 @@ { NS_LOG_FUNCTION (this << slotTime); m_dcfManager->SetSlot (slotTime); - m_slot = slotTime; + m_low->SetSlotTime (slotTime); } void NqstaWifiMac::SetSifs (Time sifs) @@ -157,10 +157,15 @@ { m_low->SetCtsTimeout (ctsTimeout); } +void +NqstaWifiMac::SetPifs (Time pifs) +{ + m_low->SetPifs (pifs); +} Time NqstaWifiMac::GetSlot (void) const { - return m_slot; + return m_low->GetSlotTime (); } Time NqstaWifiMac::GetSifs (void) const @@ -182,6 +187,12 @@ { return m_low->GetCtsTimeout (); } +Time +NqstaWifiMac::GetPifs (void) const +{ + return m_low->GetPifs (); +} + void NqstaWifiMac::SetWifiPhy (Ptr phy) { diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/nqsta-wifi-mac.h --- a/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 12:36:37 2008 -0700 @@ -64,11 +64,13 @@ virtual void SetEifsNoDifs (Time eifsNoDifs); virtual void SetAckTimeout (Time ackTimeout); virtual void SetCtsTimeout (Time ctsTimeout); + virtual void SetPifs (Time pifs); virtual Time GetSlot (void) const; virtual Time GetSifs (void) const; virtual Time GetEifsNoDifs (void) const; virtual Time GetAckTimeout (void) const; virtual Time GetCtsTimeout (void) const; + virtual Time GetPifs (void) const; virtual void SetWifiPhy (Ptr phy); virtual void SetWifiRemoteStationManager (Ptr stationManager); virtual void Enqueue (Ptr packet, Mac48Address to, Mac48Address from); @@ -153,7 +155,6 @@ Ptr m_low; Mac48Address m_address; Ssid m_ssid; - Time m_slot; Time m_eifsNoDifs; }; diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/wifi-mac.cc --- a/src/devices/wifi/wifi-mac.cc Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/wifi-mac.cc Tue Sep 02 12:36:37 2008 -0700 @@ -99,7 +99,8 @@ MakeTimeChecker ()) .AddAttribute ("Pifs", "The value of the PIFS constant.", TimeValue (GetDefaultSifs () + GetDefaultSlot ()), - MakeTimeAccessor (&WifiMac::m_pifs), + MakeTimeAccessor (&WifiMac::SetPifs, + &WifiMac::GetPifs), MakeTimeChecker ()) .AddAttribute ("MaxPropagationDelay", "The maximum propagation delay. Unused for now.", TimeValue (GetDefaultMaxPropagationDelay ()), diff -r 7b209b3b6af2 -r 721bd46c15f8 src/devices/wifi/wifi-mac.h --- a/src/devices/wifi/wifi-mac.h Tue Sep 02 12:13:24 2008 -0700 +++ b/src/devices/wifi/wifi-mac.h Tue Sep 02 12:36:37 2008 -0700 @@ -60,7 +60,7 @@ /** * \param pifs the pifs duration. */ - void SetPifs (Time pifs); + virtual void SetPifs (Time pifs) = 0; /** * \param ctsTimeout the duration of a CTS timeout. */ @@ -79,7 +79,7 @@ /** * \returns the current PIFS duration. */ - Time GetPifs (void) const; + virtual Time GetPifs (void) const = 0; /** * \returns the current SIFS duration. */