--- a/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/adhoc-wifi-mac.cc Tue Sep 02 12:06:46 2008 -0700
@@ -99,6 +99,11 @@
{
m_low->SetAckTimeout (ackTimeout);
}
+void
+AdhocWifiMac::SetCtsTimeout (Time ctsTimeout)
+{
+ m_low->SetCtsTimeout (ctsTimeout);
+}
Time
AdhocWifiMac::GetSlot (void) const
{
@@ -119,6 +124,11 @@
{
return m_low->GetAckTimeout ();
}
+Time
+AdhocWifiMac::GetCtsTimeout (void) const
+{
+ return m_low->GetCtsTimeout ();
+}
void
AdhocWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
{
--- a/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/adhoc-wifi-mac.h Tue Sep 02 12:06:46 2008 -0700
@@ -57,10 +57,12 @@
virtual void SetSifs (Time sifs);
virtual void SetEifsNoDifs (Time eifsNoDifs);
virtual void SetAckTimeout (Time ackTimeout);
+ virtual void SetCtsTimeout (Time ctsTimeout);
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 void SetWifiPhy (Ptr<WifiPhy> phy);
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
--- a/src/devices/wifi/mac-low.cc Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/mac-low.cc Tue Sep 02 12:06:46 2008 -0700
@@ -367,6 +367,11 @@
{
m_ackTimeout = ackTimeout;
}
+void
+MacLow::SetCtsTimeout (Time ctsTimeout)
+{
+ m_ctsTimeout = ctsTimeout;
+}
Mac48Address
MacLow::GetAddress (void) const
{
@@ -377,6 +382,11 @@
{
return m_ackTimeout;
}
+Time
+MacLow::GetCtsTimeout (void) const
+{
+ return m_ctsTimeout;
+}
void
MacLow::SetRxCallback (Callback<void,Ptr<Packet>,const WifiMacHeader *> callback)
@@ -646,11 +656,6 @@
{
return m_mac->GetPifs ();
}
-Time
-MacLow::GetCtsTimeout (void) const
-{
- return m_mac->GetCtsTimeout ();
-}
uint32_t
MacLow::GetSize (Ptr<const Packet> packet, const WifiMacHeader *hdr) const
{
--- a/src/devices/wifi/mac-low.h Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/mac-low.h Tue Sep 02 12:06:46 2008 -0700
@@ -286,8 +286,10 @@
void SetAddress (Mac48Address ad);
void SetAckTimeout (Time ackTimeout);
+ void SetCtsTimeout (Time ctsTimeout);
Mac48Address GetAddress (void) const;
Time GetAckTimeout (void) const;
+ Time GetCtsTimeout (void) const;
/**
* \param callback the callback which receives every incoming packet.
@@ -354,7 +356,6 @@
Time GetSifs (void) const;
Time GetPifs (void) const;
Time GetSlotTime (void) const;
- Time GetCtsTimeout (void) const;
uint32_t GetSize (Ptr<const Packet> packet, const WifiMacHeader *hdr) const;
Time NowUs (void) const;
WifiRemoteStation *GetStation (Mac48Address to) const;
@@ -417,6 +418,7 @@
MacLowTransmissionListener *m_listener;
Mac48Address m_self;
Time m_ackTimeout;
+ Time m_ctsTimeout;
Time m_lastNavStart;
Time m_lastNavDuration;
--- a/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/nqap-wifi-mac.cc Tue Sep 02 12:06:46 2008 -0700
@@ -152,6 +152,11 @@
{
m_low->SetAckTimeout (ackTimeout);
}
+void
+NqapWifiMac::SetCtsTimeout (Time ctsTimeout)
+{
+ m_low->SetCtsTimeout (ctsTimeout);
+}
Time
NqapWifiMac::GetSlot (void) const
{
@@ -172,6 +177,11 @@
{
return m_low->GetAckTimeout ();
}
+Time
+NqapWifiMac::GetCtsTimeout (void) const
+{
+ return m_low->GetCtsTimeout ();
+}
void
NqapWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
{
--- a/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/nqap-wifi-mac.h Tue Sep 02 12:06:46 2008 -0700
@@ -63,10 +63,12 @@
virtual void SetSifs (Time sifs);
virtual void SetEifsNoDifs (Time eifsNoDifs);
virtual void SetAckTimeout (Time ackTimeout);
+ virtual void SetCtsTimeout (Time ctsTimeout);
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 void SetWifiPhy (Ptr<WifiPhy> phy);
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
--- a/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/nqsta-wifi-mac.cc Tue Sep 02 12:06:46 2008 -0700
@@ -152,6 +152,11 @@
{
m_low->SetAckTimeout (ackTimeout);
}
+void
+NqstaWifiMac::SetCtsTimeout (Time ctsTimeout)
+{
+ m_low->SetCtsTimeout (ctsTimeout);
+}
Time
NqstaWifiMac::GetSlot (void) const
{
@@ -172,6 +177,11 @@
{
return m_low->GetAckTimeout ();
}
+Time
+NqstaWifiMac::GetCtsTimeout (void) const
+{
+ return m_low->GetCtsTimeout ();
+}
void
NqstaWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
{
--- a/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/nqsta-wifi-mac.h Tue Sep 02 12:06:46 2008 -0700
@@ -63,10 +63,12 @@
virtual void SetSifs (Time sifs);
virtual void SetEifsNoDifs (Time eifsNoDifs);
virtual void SetAckTimeout (Time ackTimeout);
+ virtual void SetCtsTimeout (Time ctsTimeout);
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 void SetWifiPhy (Ptr<WifiPhy> phy);
virtual void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> stationManager);
virtual void Enqueue (Ptr<const Packet> packet, Mac48Address to, Mac48Address from);
--- a/src/devices/wifi/wifi-mac.h Tue Sep 02 12:00:11 2008 -0700
+++ b/src/devices/wifi/wifi-mac.h Tue Sep 02 12:06:46 2008 -0700
@@ -64,7 +64,7 @@
/**
* \param ctsTimeout the duration of a CTS timeout.
*/
- void SetCtsTimeout (Time ctsTimeout);
+ virtual void SetCtsTimeout (Time ctsTimeout) = 0;
/**
* \param ackTimeout the duration of an ACK timeout.
*/
@@ -95,7 +95,7 @@
/**
* \returns the current CTS timeout duration.
*/
- Time GetCtsTimeout (void) const;
+ virtual Time GetCtsTimeout (void) const = 0;
/**
* \returns the current ACK timeout duration.
*/