From 45f0663d11caba8084c194ed61ed8fed598ad659 Mon Sep 17 00:00:00 2001 From: Stefano Avallone Date: Sat, 20 Jun 2020 22:28:46 +0200 Subject: [PATCH] wifi: Cleanup more unused methods --- CHANGES.html | 3 +- src/mesh/model/mesh-wifi-interface-mac.cc | 4 +- src/mesh/model/mesh-wifi-interface-mac.h | 2 +- src/wave/model/ocb-wifi-mac.cc | 2 +- src/wave/model/ocb-wifi-mac.h | 4 +- src/wifi/doc/source/wifi-design.rst | 1 + src/wifi/model/regular-wifi-mac.cc | 2 +- src/wifi/model/regular-wifi-mac.h | 15 +-- src/wifi/model/wifi-mac.cc | 111 ---------------------- src/wifi/model/wifi-mac.h | 83 +--------------- 10 files changed, 15 insertions(+), 212 deletions(-) diff --git a/CHANGES.html b/CHANGES.html index 8afc48265..84c59efa5 100644 --- a/CHANGES.html +++ b/CHANGES.html @@ -66,7 +66,8 @@ us a note on ns-developers mailing list.

Changed behavior:


diff --git a/src/mesh/model/mesh-wifi-interface-mac.cc b/src/mesh/model/mesh-wifi-interface-mac.cc index 532eb3c87..8ea0159a0 100644 --- a/src/mesh/model/mesh-wifi-interface-mac.cc +++ b/src/mesh/model/mesh-wifi-interface-mac.cc @@ -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 diff --git a/src/mesh/model/mesh-wifi-interface-mac.h b/src/mesh/model/mesh-wifi-interface-mac.h index 8d2829255..929c2984c 100644 --- a/src/mesh/model/mesh-wifi-interface-mac.h +++ b/src/mesh/model/mesh-wifi-interface-mac.h @@ -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 diff --git a/src/wave/model/ocb-wifi-mac.cc b/src/wave/model/ocb-wifi-mac.cc index 20fd02292..875155761 100644 --- a/src/wave/model/ocb-wifi-mac.cc +++ b/src/wave/model/ocb-wifi-mac.cc @@ -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) diff --git a/src/wave/model/ocb-wifi-mac.h b/src/wave/model/ocb-wifi-mac.h index 1549d1c63..24e484427 100644 --- a/src/wave/model/ocb-wifi-mac.h +++ b/src/wave/model/ocb-wifi-mac.h @@ -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 mpdu); diff --git a/src/wifi/doc/source/wifi-design.rst b/src/wifi/doc/source/wifi-design.rst index 59fee8eeb..7286b732a 100644 --- a/src/wifi/doc/source/wifi-design.rst +++ b/src/wifi/doc/source/wifi-design.rst @@ -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 diff --git a/src/wifi/model/regular-wifi-mac.cc b/src/wifi/model/regular-wifi-mac.cc index 019af0e01..c66399e4f 100644 --- a/src/wifi/model/regular-wifi-mac.cc +++ b/src/wifi/model/regular-wifi-mac.cc @@ -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; diff --git a/src/wifi/model/regular-wifi-mac.h b/src/wifi/model/regular-wifi-mac.h index f8c4e941d..ad36f7131 100644 --- a/src/wifi/model/regular-wifi-mac.h +++ b/src/wifi/model/regular-wifi-mac.h @@ -68,6 +68,7 @@ public: Ptr GetWifiPhy (void) const; void ResetWifiPhy (void); virtual void SetWifiRemoteStationManager (const Ptr stationManager); + void ConfigureStandard (WifiPhyStandard standard); /** * This type defines the callback of a higher layer that a @@ -189,20 +190,6 @@ protected: */ Ptr 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 diff --git a/src/wifi/model/wifi-mac.cc b/src/wifi/model/wifi-mac.cc index df56a1337..a052ef7f8 100644 --- a/src/wifi/model/wifi-mac.cc +++ b/src/wifi/model/wifi-mac.cc @@ -120,117 +120,6 @@ WifiMac::NotifyRxDrop (Ptr 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 dcf, uint32_t cwmin, uint32_t cwmax, bool isDsss, AcIndex ac) { diff --git a/src/wifi/model/wifi-mac.h b/src/wifi/model/wifi-mac.h index f094da051..0aecc3d34 100644 --- a/src/wifi/model/wifi-mac.h +++ b/src/wifi/model/wifi-mac.h @@ -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 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.