wifi: Remove WifiPhy deprecated functions

This commit is contained in:
Stefano Avallone
2022-02-22 10:50:38 +01:00
parent 424fbd53fe
commit 2422e2dc4d
2 changed files with 0 additions and 288 deletions

View File

@@ -312,10 +312,6 @@ WifiPhy::WifiPhy ()
m_previouslyRxPpduUid (UINT64_MAX),
m_standard (WIFI_STANDARD_UNSPECIFIED),
m_band (WIFI_PHY_BAND_UNSPECIFIED),
m_initialFrequency (0),
m_initialChannelNumber (0),
m_initialChannelWidth (0),
m_initialPrimary20Index (0),
m_sifs (Seconds (0)),
m_slot (Seconds (0)),
m_pifs (Seconds (0)),
@@ -818,61 +814,6 @@ WifiPhy::Configure80211ax (void)
AddPhyEntity (WIFI_MOD_CLASS_HE, Create<HePhy> ());
}
void
WifiPhy::ConfigureStandardAndBand (WifiStandard standard, WifiPhyBand band)
{
NS_LOG_FUNCTION (this << standard << band);
m_standard = standard;
m_band = band;
if (m_initialFrequency == 0 && m_initialChannelNumber == 0)
{
// set a default channel if the user did not specify anything
if (m_initialChannelWidth == 0)
{
// set a default channel width
m_initialChannelWidth = GetDefaultChannelWidth (m_standard, m_band);
}
m_operatingChannel.SetDefault (m_initialChannelWidth, m_standard, m_band);
}
else
{
m_operatingChannel.Set (m_initialChannelNumber, m_initialFrequency, m_initialChannelWidth,
m_standard, m_band);
}
m_operatingChannel.SetPrimary20Index (m_initialPrimary20Index);
switch (standard)
{
case WIFI_STANDARD_80211a:
Configure80211a ();
break;
case WIFI_STANDARD_80211b:
Configure80211b ();
break;
case WIFI_STANDARD_80211g:
Configure80211g ();
break;
case WIFI_STANDARD_80211p:
Configure80211p ();
break;
case WIFI_STANDARD_80211n:
Configure80211n ();
break;
case WIFI_STANDARD_80211ac:
Configure80211ac ();
break;
case WIFI_STANDARD_80211ax:
Configure80211ax ();
break;
case WIFI_STANDARD_UNSPECIFIED:
default:
NS_ASSERT_MSG (false, "Unsupported standard");
break;
}
}
void
WifiPhy::ConfigureStandard (WifiStandard standard)
{
@@ -944,169 +885,30 @@ WifiPhy::GetOperatingChannel (void) const
return m_operatingChannel;
}
void
WifiPhy::SetFrequency (uint16_t frequency)
{
NS_LOG_FUNCTION (this << frequency);
if (!m_operatingChannel.IsSet ())
{
// ConfigureStandardAndBand has not been called yet, so store the frequency
// into m_initialFrequency
NS_LOG_DEBUG ("Saving frequency configuration for initialization");
m_initialFrequency = frequency;
return;
}
if (GetFrequency () == frequency)
{
NS_LOG_DEBUG ("No frequency change requested");
return;
}
// if the frequency does not uniquely identify an operating channel,
// the simulation aborts
SetOperatingChannel (0, frequency, 0);
}
uint16_t
WifiPhy::GetFrequency (void) const
{
return m_operatingChannel.GetFrequency ();
}
void
WifiPhy::SetChannelNumber (uint8_t nch)
{
NS_LOG_FUNCTION (this << +nch);
if (!m_operatingChannel.IsSet ())
{
// ConfigureStandardAndBand has not been called yet, so store the channel
// into m_initialChannelNumber
NS_LOG_DEBUG ("Saving channel number configuration for initialization");
m_initialChannelNumber = nch;
return;
}
if (GetChannelNumber () == nch)
{
NS_LOG_DEBUG ("No channel change requested");
return;
}
// if the channel number does not uniquely identify an operating channel,
// the simulation aborts
SetOperatingChannel (nch, 0, 0);
}
uint8_t
WifiPhy::GetChannelNumber (void) const
{
return m_operatingChannel.GetNumber ();
}
void
WifiPhy::SetChannelWidth (uint16_t channelWidth)
{
NS_LOG_FUNCTION (this << channelWidth);
if (channelWidth != 0)
{
AddSupportedChannelWidth (channelWidth);
}
if (!m_operatingChannel.IsSet ())
{
// ConfigureStandardAndBand has not been called yet, so store the channel width
// into m_initialChannelWidth
NS_LOG_DEBUG ("Saving channel width configuration for initialization");
m_initialChannelWidth = channelWidth;
return;
}
if (GetChannelWidth () == channelWidth)
{
NS_LOG_DEBUG ("No channel width change requested");
return;
}
NS_ABORT_MSG ("The channel width does not uniquely identify an operating channel.");
}
uint16_t
WifiPhy::GetChannelWidth (void) const
{
return m_operatingChannel.GetWidth ();
}
void
WifiPhy::SetPrimary20Index (uint8_t index)
{
NS_LOG_FUNCTION (this << +index);
if (!m_operatingChannel.IsSet ())
{
// ConfigureStandardAndBand has not been called yet, so store the primary20
// index into m_initialPrimary20Index
NS_LOG_DEBUG ("Saving primary20 index configuration for initialization");
m_initialPrimary20Index = index;
return;
}
m_operatingChannel.SetPrimary20Index (index);
}
uint8_t
WifiPhy::GetPrimary20Index (void) const
{
return m_operatingChannel.GetPrimaryChannelIndex (20);
}
void
WifiPhy::SetOperatingChannel (uint8_t number, uint16_t frequency, uint16_t width)
{
Time delay = Seconds (0);
if (IsInitialized ())
{
delay = GetDelayUntilChannelSwitch ();
}
if (delay.IsStrictlyNegative ())
{
// switching channel is not possible now
return;
}
if (delay.IsStrictlyPositive ())
{
// switching channel has been postponed
void (WifiPhy::*fp) (uint8_t, uint16_t, uint16_t) = &WifiPhy::SetOperatingChannel;
Simulator::Schedule (delay, fp, this, number, frequency, width);
return;
}
// channel can be switched now.
uint16_t prevChannelWidth = 0;
if (m_operatingChannel.IsSet ())
{
prevChannelWidth = GetChannelWidth ();
}
m_operatingChannel.Set (number, frequency, width, m_standard, m_band);
if (GetChannelWidth () != prevChannelWidth)
{
AddSupportedChannelWidth (GetChannelWidth ());
// If channel width changed after initialization, invoke the capabilities changed callback
if (IsInitialized () && !m_capabilitiesChangedCallback.IsNull ())
{
m_capabilitiesChangedCallback ();
}
}
}
void
WifiPhy::SetOperatingChannel (const ChannelTuple& channelTuple)
{

View File

@@ -469,30 +469,6 @@ public:
*/
WifiMode GetMcs (WifiModulationClass modulation, uint8_t mcs) const;
/**
* \brief Set channel number.
*
* Channel center frequency = Channel starting frequency + 5 MHz * (nch - 1)
*
* where Starting channel frequency is standard-dependent,
* as defined in (Section 18.3.8.4.2 "Channel numbering"; IEEE Std 802.11-2012).
*
* If the operating channel for this object has not been set yet, the given
* channel number is saved and will be used, along with the center frequency and
* width that have been saved similarly, to set the operating channel when the
* standard and band are configured. Note that if center frequency and channel
* number are both 0 when the standard and band are configured, a default channel
* (of the configured width, if any, or the default width for the current standard
* and band, otherwise) is set.
* If the operating channel for this object has been already set, the specified
* channel number must uniquely identify a channel in the band being used. If so,
* this method may still fail to take action if the PHY model determines that
* the channel number cannot be switched for some reason (e.g. sleep state)
*
* \param id the channel number
*/
NS_DEPRECATED_3_35
virtual void SetChannelNumber (uint8_t id);
/**
* Return current channel number.
*
@@ -504,15 +480,6 @@ public:
*/
Time GetChannelSwitchDelay (void) const;
/**
* Configure the PHY-level parameters for different Wi-Fi standard.
*
* \param standard the Wi-Fi standard
* \param band the Wi-Fi band
*/
NS_DEPRECATED_3_35
virtual void ConfigureStandardAndBand (WifiStandard standard, WifiPhyBand band);
/**
* Configure the PHY-level parameters for different Wi-Fi standard.
*
@@ -859,18 +826,6 @@ public:
*/
Ptr<MobilityModel> GetMobility (void) const;
/**
* Set the operating channel according to the specified parameters. If this object
* has been already initialized, setting the operating channel involves a channel
* switch, which might be suppressed (e.g., if this object is in sleep mode) or
* delayed (e.g., if this object is transmitting a frame).
*
* \param number the channel number (use 0 to leave it unspecified)
* \param frequency the channel center frequency in MHz (use 0 to leave it unspecified)
* \param width the channel width in MHz (use 0 to leave it unspecified)
*/
void SetOperatingChannel (uint8_t number, uint16_t frequency, uint16_t width);
using ChannelTuple = std::tuple<uint8_t /* channel number */,
uint16_t /* channel width */,
int /* WifiPhyBand */,
@@ -886,35 +841,10 @@ public:
* \param channelTuple the given channel settings
*/
void SetOperatingChannel (const ChannelTuple& channelTuple);
/**
* If the operating channel for this object has not been set yet, the given
* center frequency is saved and will be used, along with the channel number and
* width that have been saved similarly, to set the operating channel when the
* standard and band are configured. Note that if center frequency and
* channel number are both 0 when the standard and band are configured, a default
* channel (of the configured width, if any, or the default width for the current
* standard and band, otherwise) is set.
* If the operating channel for this object has been already set, the specified
* center frequency must uniquely identify a channel in the band being used. If so,
* this method may still fail to take action if the PHY model determines that
* the operating channel cannot be switched for some reason (e.g. sleep state)
*
* \param freq the operating center frequency (MHz) on this node.
*/
NS_DEPRECATED_3_35
virtual void SetFrequency (uint16_t freq);
/**
* \return the operating center frequency (MHz)
*/
uint16_t GetFrequency (void) const;
/**
* Set the index of the primary 20 MHz channel (0 indicates the 20 MHz subchannel
* with the lowest center frequency).
*
* \param index the index of the primary 20 MHz channel
*/
NS_DEPRECATED_3_35
void SetPrimary20Index (uint8_t index);
/**
* \return the index of the primary 20 MHz channel
*/
@@ -997,22 +927,6 @@ public:
* \return the channel width in MHz
*/
uint16_t GetChannelWidth (void) const;
/**
* If the operating channel for this object has not been set yet, the given
* channel width is saved and will be used, along with the center frequency and
* channel number that have been saved similarly, to set the operating channel
* when the standard and band are configured. Note that if center frequency and
* channel number are both 0 when the standard and band are configured, a default
* channel (of the configured width, if any, or the default width for the current
* standard and band, otherwise) is set.
* Do not call this method when the standard and band of this object have been
* already configured, because it cannot uniquely identify a channel in the band
* being used.
*
* \param channelWidth the channel width (in MHz)
*/
NS_DEPRECATED_3_35
virtual void SetChannelWidth (uint16_t channelWidth);
/**
* \param width the channel width (in MHz) to support
*/
@@ -1420,10 +1334,6 @@ private:
WifiStandard m_standard; //!< WifiStandard
WifiPhyBand m_band; //!< WifiPhyBand
uint16_t m_initialFrequency; //!< Store frequency until initialization (MHz)
uint8_t m_initialChannelNumber; //!< Store channel number until initialization
uint16_t m_initialChannelWidth; //!< Store channel width (MHz) until initialization
uint8_t m_initialPrimary20Index; //!< Store the index of primary20 until initialization
ChannelTuple m_channelSettings; //!< Store operating channel settings until initialization
WifiPhyOperatingChannel m_operatingChannel; //!< Operating channel
std::vector<uint16_t> m_supportedChannelWidthSet; //!< Supported channel width set (MHz)