wifi: Cleanup more unused methods

This commit is contained in:
Stefano Avallone
2020-06-20 22:28:46 +02:00
parent 79ca1357cb
commit 45f0663d11
10 changed files with 15 additions and 212 deletions

View File

@@ -66,7 +66,8 @@ us a note on ns-developers mailing list.</p>
</ul>
<h2>Changed behavior:</h2>
<ul>
<li></li>
<li>The <b>Sifs</b>, <b>Slot</b> and <b>Pifs</b> attributes have been moved from <b>WifiMac</b> to <b>WifiPhy</b> to better reflect that they are PHY characteristics, to decouple the MAC configuration from the PHY configuration and to ease the support for future standards.</li>
<li>Support for <b>RIFS</b> has been dropped from wifi. RIFS has been obsoleted by the 802.11 standard and support for it was not implemented according to the standard.</li>
</ul>
<hr>

View File

@@ -548,9 +548,9 @@ MeshWifiInterfaceMac::ResetStats ()
}
void
MeshWifiInterfaceMac::FinishConfigureStandard (enum WifiPhyStandard standard)
MeshWifiInterfaceMac::ConfigureStandard (enum WifiPhyStandard standard)
{
RegularWifiMac::FinishConfigureStandard (standard);
RegularWifiMac::ConfigureStandard (standard);
m_standard = standard;
// We use the single DCF provided by WifiMac for the purpose of

View File

@@ -166,7 +166,7 @@ public:
*
* \param standard the WifiPhyStandard being configured
*/
virtual void FinishConfigureStandard (enum WifiPhyStandard standard);
virtual void ConfigureStandard (enum WifiPhyStandard standard);
/**
* Assign a fixed random variable stream number to the random variables
* used by this model. Return the number of streams (possibly zero) that

View File

@@ -371,7 +371,7 @@ OcbWifiMac::ConfigureEdca (uint32_t cwmin, uint32_t cwmax, uint32_t aifsn, enum
}
void
OcbWifiMac::FinishConfigureStandard (enum WifiPhyStandard standard)
OcbWifiMac::ConfigureStandard (enum WifiPhyStandard standard)
{
NS_LOG_FUNCTION (this << standard);
NS_ASSERT ((standard == WIFI_PHY_STANDARD_80211_10MHZ)

View File

@@ -173,8 +173,8 @@ public:
*/
void Reset (void);
protected:
virtual void FinishConfigureStandard (enum WifiPhyStandard standard);
// Inherited from base class
virtual void ConfigureStandard (enum WifiPhyStandard standard);
private:
virtual void Receive (Ptr<WifiMacQueueItem> mpdu);

View File

@@ -168,6 +168,7 @@ The following details pertain to the physical layer and channel models:
* 802.11ax only supports SU PPDU format
* 802.11ac/ax MU-MIMO is not supported, and no more than 4 antennas can be configured
* 802.11n/ac/ax beamforming is not supported
* 802.11n RIFS is not supported
* 802.11 HCF/HCCA are not implemented
* 802.11 PCF implementation currently assumes a DTIM interval equal to the beacon interval
* Authentication and encryption are missing

View File

@@ -1076,7 +1076,7 @@ RegularWifiMac::GetTypeId (void)
}
void
RegularWifiMac::FinishConfigureStandard (WifiPhyStandard standard)
RegularWifiMac::ConfigureStandard (WifiPhyStandard standard)
{
NS_LOG_FUNCTION (this << standard);
uint32_t cwmin = 0;

View File

@@ -68,6 +68,7 @@ public:
Ptr<WifiPhy> GetWifiPhy (void) const;
void ResetWifiPhy (void);
virtual void SetWifiRemoteStationManager (const Ptr<WifiRemoteStationManager> stationManager);
void ConfigureStandard (WifiPhyStandard standard);
/**
* This type defines the callback of a higher layer that a
@@ -189,20 +190,6 @@ protected:
*/
Ptr<QosTxop> GetBKQueue (void) const;
/**
* \param standard the PHY standard to be used
*
* This method is called by ns3::WifiMac::ConfigureStandard to
* complete the configuration process for a requested PHY standard.
*
* This method may be overridden by a derived class (e.g., in order
* to apply DCF or EDCA parameters specific to the usage model it is
* dealing with), in which case the reimplementation may choose to
* deal with certain values in the WifiPhyStandard enumeration, and
* chain up to this implementation to deal with the remainder.
*/
void FinishConfigureStandard (WifiPhyStandard standard);
/**
* \param cwMin the minimum contention window size
* \param cwMax the maximum contention window size

View File

@@ -120,117 +120,6 @@ WifiMac::NotifyRxDrop (Ptr<const Packet> packet)
m_macRxDropTrace (packet);
}
void
WifiMac::ConfigureStandard (WifiPhyStandard standard)
{
NS_LOG_FUNCTION (this << standard);
switch (standard)
{
case WIFI_PHY_STANDARD_80211a:
Configure80211a ();
break;
case WIFI_PHY_STANDARD_80211b:
Configure80211b ();
break;
case WIFI_PHY_STANDARD_80211g:
Configure80211g ();
break;
case WIFI_PHY_STANDARD_80211_10MHZ:
Configure80211_10Mhz ();
break;
case WIFI_PHY_STANDARD_80211_5MHZ:
Configure80211_5Mhz ();
break;
case WIFI_PHY_STANDARD_holland:
Configure80211a ();
break;
case WIFI_PHY_STANDARD_80211n_2_4GHZ:
Configure80211n_2_4Ghz ();
break;
case WIFI_PHY_STANDARD_80211n_5GHZ:
Configure80211n_5Ghz ();
break;
case WIFI_PHY_STANDARD_80211ac:
Configure80211ac ();
break;
case WIFI_PHY_STANDARD_80211ax_2_4GHZ:
Configure80211ax_2_4Ghz ();
break;
case WIFI_PHY_STANDARD_80211ax_5GHZ:
Configure80211ax_5Ghz ();
break;
case WIFI_PHY_STANDARD_UNSPECIFIED:
default:
NS_FATAL_ERROR ("Wifi standard not found");
break;
}
FinishConfigureStandard (standard);
}
void
WifiMac::Configure80211a (void)
{
NS_LOG_FUNCTION (this);
}
void
WifiMac::Configure80211b (void)
{
NS_LOG_FUNCTION (this);
}
void
WifiMac::Configure80211g (void)
{
NS_LOG_FUNCTION (this);
}
void
WifiMac::Configure80211_10Mhz (void)
{
NS_LOG_FUNCTION (this);
}
void
WifiMac::Configure80211_5Mhz (void)
{
NS_LOG_FUNCTION (this);
}
void
WifiMac::Configure80211n_2_4Ghz (void)
{
NS_LOG_FUNCTION (this);
Configure80211g ();
}
void
WifiMac::Configure80211n_5Ghz (void)
{
NS_LOG_FUNCTION (this);
Configure80211a ();
}
void
WifiMac::Configure80211ac (void)
{
NS_LOG_FUNCTION (this);
Configure80211n_5Ghz ();
}
void
WifiMac::Configure80211ax_2_4Ghz (void)
{
NS_LOG_FUNCTION (this);
Configure80211n_2_4Ghz ();
}
void
WifiMac::Configure80211ax_5Ghz (void)
{
NS_LOG_FUNCTION (this);
Configure80211ac ();
}
void
WifiMac::ConfigureDcf (Ptr<Txop> dcf, uint32_t cwmin, uint32_t cwmax, bool isDsss, AcIndex ac)
{

View File

@@ -213,22 +213,11 @@ public:
/**
* \param standard the wifi standard to be configured
*
* This method sets standards-compliant defaults for WifiMac
* parameters such as SIFS time, slot time, timeout values, etc.,
* based on the standard selected.
*
* \sa WifiMac::Configure80211a
* \sa WifiMac::Configure80211b
* \sa WifiMac::Configure80211g
* \sa WifiMac::Configure80211_10Mhz
* \sa WifiMac::Configure80211_5Mhz
* \sa WifiMac::Configure80211n_2_4Ghz
* \sa WifiMac::Configure80211n_5Ghz
* \sa WifiMac::Configure80211ac
* \sa WifiMac::Configure80211ax_2_4Ghz
* \sa WifiMac::Configure80211ax_5Ghz
* This method completes the configuration process for a requested PHY standard.
* Subclasses should implement this method to configure their DCF queues
* according to the requested standard.
*/
void ConfigureStandard (WifiPhyStandard standard);
virtual void ConfigureStandard (WifiPhyStandard standard) = 0;
/**
* \return pointer to HtConfiguration if it exists
@@ -258,72 +247,8 @@ protected:
private:
/**
* \param standard the PHY standard to be used
*
* This method is called by ns3::WifiMac::ConfigureStandard to complete
* the configuration process for a requested PHY standard. Subclasses should
* implement this method to configure their DCF queues according to the
* requested standard.
*/
virtual void FinishConfigureStandard (WifiPhyStandard standard) = 0;
Ptr<NetDevice> m_device; ///< Pointer to the device
/**
* This method sets 802.11a standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211a (void);
/**
* This method sets 802.11b standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211b (void);
/**
* This method sets 802.11g standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
* There is no support for short slot time.
*/
void Configure80211g (void);
/**
* This method sets 802.11 with 10 MHz channel spacing standards-compliant defaults
* for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211_10Mhz (void);
/**
* This method sets 802.11 with 5 MHz channel spacing standards-compliant defaults
* for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211_5Mhz ();
/**
* This method sets 802.11n 2.4 GHz standards-compliant defaults for following attributes:
* SIFS, RIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
* There is no support for short slot time.
*/
void Configure80211n_2_4Ghz (void);
/**
* This method sets 802.11n 5 GHz standards-compliant defaults for following attributes:
* SIFS, RIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211n_5Ghz (void);
/**
* This method sets 802.11ac standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211ac (void);
/**
* This method sets 802.11ax 2.4 GHz standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
* There is no support for short slot time.
*/
void Configure80211ax_2_4Ghz (void);
/**
* This method sets 802.11ax 5 GHz standards-compliant defaults for following attributes:
* SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
*/
void Configure80211ax_5Ghz (void);
/**
* The trace source fired when packets come into the "top" of the device
* at the L3/L2 transition, before being queued for transmission.