move slot and pifs down to MacLow
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Tue, 02 Sep 2008 12:36:37 -0700
changeset 3599 721bd46c15f8
parent 3598 7b209b3b6af2
child 3600 5888dfe3f245
move slot and pifs down to MacLow
src/devices/wifi/adhoc-wifi-mac.cc
src/devices/wifi/adhoc-wifi-mac.h
src/devices/wifi/mac-low.cc
src/devices/wifi/mac-low.h
src/devices/wifi/nqap-wifi-mac.cc
src/devices/wifi/nqap-wifi-mac.h
src/devices/wifi/nqsta-wifi-mac.cc
src/devices/wifi/nqsta-wifi-mac.h
src/devices/wifi/wifi-mac.cc
src/devices/wifi/wifi-mac.h
--- 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<WifiPhy> phy)
 {
--- 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<WifiPhy> phy);
   virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
   virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
@@ -91,7 +93,6 @@
   MacRxMiddle *m_rxMiddle;
   Ptr<MacLow> m_low;
   Ssid m_ssid;
-  Time m_slot;
   Time m_eifsNoDifs;
 };
 
--- 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<void,Ptr<Packet>,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<const Packet> packet, const WifiMacHeader *hdr) const
 {
--- 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<const Packet> 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;
--- 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<WifiPhy> phy)
 {
--- 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<WifiPhy> phy);
   virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
   virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
@@ -123,7 +125,6 @@
   Mac48Address m_address;
   Ssid m_ssid;
   EventId m_beaconEvent;
-  Time m_slot;
   Time m_eifsNoDifs;
 };
 
--- 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<WifiPhy> phy)
 {
--- 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<WifiPhy> phy);
   virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
   virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
@@ -153,7 +155,6 @@
   Ptr<MacLow> m_low;
   Mac48Address m_address;
   Ssid m_ssid;
-  Time m_slot;
   Time m_eifsNoDifs;
 };
 
--- 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 ()),
--- 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.
    */