|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
31 : m_channelIt (
WifiPhy::m_frequencyChannels.end ()),
52 NS_LOG_FUNCTION (
this << +number << frequency << width << standard << band);
57 &&
FindFirst (number, frequency, width, standard, band, std::next (channelIt))
67 throw std::runtime_error (
"WifiPhyOperatingChannel: No unique channel found given the specified criteria");
86 throw std::runtime_error (
"WifiPhyOperatingChannel: No default channel found of the given width and for the given PHY standard and band");
94 NS_LOG_FUNCTION (
this << +number << frequency << width << standard << band);
99 if (number != 0 && std::get<0> (
channel) != number)
103 if (frequency != 0 && std::get<1> (
channel) != frequency)
111 if (width != 0 && std::get<2> (
channel) != width)
119 if (std::get<4> (
channel) != band)
155 if (primaryChannelWidth % 20 != 0)
157 NS_LOG_DEBUG (
"The operating channel width is not a multiple of 20 MHz; return 0");
168 while (width < primaryChannelWidth)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual ~WifiPhyOperatingChannel()
uint8_t m_primary20Index
index of the primary20 channel (0 indicates the 20 MHz subchannel with the lowest center frequency)
FrequencyChannelType GetFrequencyChannelType(WifiPhyStandard standard)
Get the type of the frequency channel for the given PHY standard.
bool IsSet(void) const
Return true if a valid channel has been set, false otherwise.
WifiPhyStandard
Identifies the PHY specification that a Wifi device is configured to use.
uint16_t GetWidth(void) const
Return the width of the whole operating channel (in MHz).
WifiPhyOperatingChannel()
Create an uninitialized PHY operating channel.
std::tuple< uint8_t, uint16_t, uint16_t, FrequencyChannelType, WifiPhyBand > FrequencyChannelInfo
A tuple (number, frequency, width, type, band) identifying a frequency channel.
void SetPrimary20Index(uint8_t index)
Set the index of the primary 20 MHz channel (0 indicates the 20 MHz subchannel with the lowest center...
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message.
ConstIterator m_channelIt
const iterator pointing to the configured frequency channel
#define NS_LOG_LOGIC(msg)
Use NS_LOG to output a message of level LOG_LOGIC.
std::set< FrequencyChannelInfo >::const_iterator ConstIterator
Typedef for a const iterator pointing to a channel in the set of available channels.
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
uint8_t GetPrimaryChannelIndex(uint16_t primaryChannelWidth) const
If the operating channel width is a multiple of 20 MHz, return the index of the primary channel of th...
void Set(uint8_t number, uint16_t frequency, uint16_t width, WifiPhyStandard standard, WifiPhyBand band)
Set the channel according to the specified parameters if a unique frequency channel matches the speci...
uint16_t GetMaximumChannelWidth(WifiPhyStandard standard)
Get the maximum channel width in MHz allowed for the given PHY standard.
WifiPhyBand
Identifies the PHY band.
uint16_t GetFrequency(void) const
Return the center frequency of the operating channel (in MHz).
void SetDefault(uint16_t width, WifiPhyStandard standard, WifiPhyBand band)
Set the default channel of the given width and for the given PHY standard and band.
ConstIterator FindFirst(uint8_t number, uint16_t frequency, uint16_t width, WifiPhyStandard standard, WifiPhyBand band, ConstIterator start) const
Find the first channel matching the specified parameters.
static const std::set< FrequencyChannelInfo > m_frequencyChannels
Available frequency channels.
uint16_t GetPrimaryChannelCenterFrequency(uint16_t primaryChannelWidth) const
Get the center frequency of the primary channel of the given width.
uint8_t GetNumber(void) const
Return the channel number identifying the whole operating channel.