move slot and pifs down to MacLow
This commit is contained in:
@@ -80,7 +80,7 @@ void
|
||||
AdhocWifiMac::SetSlot (Time slotTime)
|
||||
{
|
||||
m_dcfManager->SetSlot (slotTime);
|
||||
m_slot = slotTime;
|
||||
m_low->SetSlotTime (slotTime);
|
||||
}
|
||||
void
|
||||
AdhocWifiMac::SetSifs (Time sifs)
|
||||
@@ -104,10 +104,15 @@ AdhocWifiMac::SetCtsTimeout (Time ctsTimeout)
|
||||
{
|
||||
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 @@ AdhocWifiMac::GetCtsTimeout (void) const
|
||||
{
|
||||
return m_low->GetCtsTimeout ();
|
||||
}
|
||||
Time
|
||||
AdhocWifiMac::GetPifs (void) const
|
||||
{
|
||||
return m_low->GetPifs ();
|
||||
}
|
||||
void
|
||||
AdhocWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
|
||||
{
|
||||
|
||||
@@ -58,11 +58,13 @@ public:
|
||||
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 @@ private:
|
||||
MacRxMiddle *m_rxMiddle;
|
||||
Ptr<MacLow> m_low;
|
||||
Ssid m_ssid;
|
||||
Time m_slot;
|
||||
Time m_eifsNoDifs;
|
||||
};
|
||||
|
||||
|
||||
@@ -377,6 +377,16 @@ MacLow::SetSifs (Time sifs)
|
||||
{
|
||||
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 @@ MacLow::GetSifs (void) const
|
||||
{
|
||||
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 @@ MacLow::GetCtsSize (void) const
|
||||
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
|
||||
{
|
||||
|
||||
@@ -288,10 +288,14 @@ public:
|
||||
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 @@ private:
|
||||
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 @@ private:
|
||||
Time m_ackTimeout;
|
||||
Time m_ctsTimeout;
|
||||
Time m_sifs;
|
||||
Time m_slotTime;
|
||||
Time m_pifs;
|
||||
|
||||
Time m_lastNavStart;
|
||||
Time m_lastNavDuration;
|
||||
|
||||
@@ -131,7 +131,7 @@ NqapWifiMac::SetSlot (Time slotTime)
|
||||
{
|
||||
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 @@ NqapWifiMac::SetCtsTimeout (Time ctsTimeout)
|
||||
{
|
||||
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 @@ NqapWifiMac::GetCtsTimeout (void) const
|
||||
{
|
||||
return m_low->GetCtsTimeout ();
|
||||
}
|
||||
Time
|
||||
NqapWifiMac::GetPifs (void) const
|
||||
{
|
||||
return m_low->GetPifs ();
|
||||
}
|
||||
void
|
||||
NqapWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
|
||||
{
|
||||
|
||||
@@ -64,11 +64,13 @@ public:
|
||||
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 @@ private:
|
||||
Mac48Address m_address;
|
||||
Ssid m_ssid;
|
||||
EventId m_beaconEvent;
|
||||
Time m_slot;
|
||||
Time m_eifsNoDifs;
|
||||
};
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ NqstaWifiMac::SetSlot (Time slotTime)
|
||||
{
|
||||
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 @@ NqstaWifiMac::SetCtsTimeout (Time ctsTimeout)
|
||||
{
|
||||
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 @@ NqstaWifiMac::GetCtsTimeout (void) const
|
||||
{
|
||||
return m_low->GetCtsTimeout ();
|
||||
}
|
||||
Time
|
||||
NqstaWifiMac::GetPifs (void) const
|
||||
{
|
||||
return m_low->GetPifs ();
|
||||
}
|
||||
|
||||
void
|
||||
NqstaWifiMac::SetWifiPhy (Ptr<WifiPhy> phy)
|
||||
{
|
||||
|
||||
@@ -64,11 +64,13 @@ public:
|
||||
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 @@ private:
|
||||
Ptr<MacLow> m_low;
|
||||
Mac48Address m_address;
|
||||
Ssid m_ssid;
|
||||
Time m_slot;
|
||||
Time m_eifsNoDifs;
|
||||
};
|
||||
|
||||
|
||||
@@ -99,7 +99,8 @@ WifiMac::GetTypeId (void)
|
||||
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 ()),
|
||||
|
||||
@@ -60,7 +60,7 @@ public:
|
||||
/**
|
||||
* \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 @@ public:
|
||||
/**
|
||||
* \returns the current PIFS duration.
|
||||
*/
|
||||
Time GetPifs (void) const;
|
||||
virtual Time GetPifs (void) const = 0;
|
||||
/**
|
||||
* \returns the current SIFS duration.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user