move slot and pifs down to MacLow

This commit is contained in:
Mathieu Lacage
2008-09-02 12:36:37 -07:00
parent c5710262c4
commit 77b1692293
10 changed files with 73 additions and 24 deletions

View File

@@ -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)
{

View File

@@ -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;
};

View File

@@ -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
{

View File

@@ -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;

View File

@@ -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)
{

View File

@@ -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;
};

View File

@@ -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)
{

View File

@@ -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;
};

View File

@@ -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 ()),

View File

@@ -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.
*/