RU Specification. More...
#include "he-ru.h"
Public Member Functions | |
RuSpec () | |
Default constructor. | |
RuSpec (RuType ruType, std::size_t index, bool primary80MHz) | |
Constructor. | |
std::size_t | GetIndex () const |
Get the RU index. | |
std::size_t | GetPhyIndex (MHz_u bw, uint8_t p20Index) const |
Get the RU PHY index. | |
bool | GetPrimary80MHz () const |
Get the primary 80 MHz flag. | |
RuType | GetRuType () const |
Get the RU type. | |
bool | operator!= (const RuSpec &other) const |
Compare this RU to the given RU. | |
bool | operator< (const RuSpec &other) const |
Compare this RU to the given RU. | |
bool | operator== (const RuSpec &other) const |
Compare this RU to the given RU. | |
Private Attributes | |
std::size_t | m_index |
RU index (starting at 1) as defined by Tables 27-7 to 27-9 of 802.11ax D8.0. | |
bool | m_primary80MHz |
true if the RU is allocated in the primary 80MHz channel | |
RuType | m_ruType |
RU type. | |
RU Specification.
Stores the information carried by the RU Allocation subfield of the User Info field of Trigger frames (see 9.3.1.22.1 of 802.11ax D8.0). Note that primary80MHz must be true if ruType is RU_2x996_TONE. Internally, this class also stores the RU PHY index (ranging from 1 to the number of RUs of the given type in a channel of the considered width), so that this class contains all the information needed to locate the RU in a 160 MHz channel.
ns3::HeRu::RuSpec::RuSpec | ( | RuType | ruType, |
std::size_t | index, | ||
bool | primary80MHz ) |
Constructor.
ruType | the RU type |
index | the RU index (starting at 1) |
primary80MHz | whether the RU is allocated in the primary 80MHz channel |
Definition at line 438 of file he-ru.cc.
References NS_ABORT_MSG_IF.
std::size_t ns3::HeRu::RuSpec::GetIndex | ( | ) | const |
Get the RU index.
Definition at line 454 of file he-ru.cc.
References NS_ABORT_MSG_IF.
Referenced by ns3::HeRu::DoesOverlap(), ns3::WifiPhyOperatingChannel::Get20MHzIndicesCoveringRu(), ns3::HePhy::GetNonOfdmaWidth(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::operator<<(), and ns3::CtrlTriggerUserInfoField::SetRuAllocation().
std::size_t ns3::HeRu::RuSpec::GetPhyIndex | ( | MHz_u | bw, |
uint8_t | p20Index ) const |
Get the RU PHY index.
bw | the width of the channel of which the RU is part |
p20Index | the index of the primary20 channel |
Definition at line 468 of file he-ru.cc.
References ns3::HeRu::GetNRus(), and ns3::HeRu::RU_2x996_TONE.
Referenced by ns3::HeRu::DoesOverlap(), ns3::HePhy::GetCenterFrequenciesForNonHePart(), ns3::SpectrumWifiPhy::GetHeRuBands(), ns3::HePhy::GetNonOfdmaBand(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), and ns3::HeRu::RuSpecCompare::operator()().
bool ns3::HeRu::RuSpec::GetPrimary80MHz | ( | ) | const |
Get the primary 80 MHz flag.
Definition at line 461 of file he-ru.cc.
References NS_ABORT_MSG_IF.
Referenced by ns3::HeRu::DoesOverlap(), ns3::HeRu::FindOverlappingRu(), ns3::WifiPhyOperatingChannel::Get20MHzIndicesCoveringRu(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::operator<<(), and ns3::CtrlTriggerUserInfoField::SetRuAllocation().
HeRu::RuType ns3::HeRu::RuSpec::GetRuType | ( | ) | const |
Get the RU type.
Definition at line 447 of file he-ru.cc.
References NS_ABORT_MSG_IF.
Referenced by TxDurationTest::CheckMuTxDuration(), ns3::HeRu::DoesOverlap(), ns3::HeRu::DoesOverlap(), ns3::WifiPhyOperatingChannel::Get20MHzIndicesCoveringRu(), ns3::HePhy::GetChannelWidthAndBand(), ns3::EhtPhy::GetDataRateFromTxVector(), ns3::HePhy::GetDataRateFromTxVector(), ns3::HePhy::GetNonOfdmaBand(), ns3::HePhy::GetNonOfdmaWidth(), ns3::EhtPhy::GetPhyRateFromTxVector(), ns3::HePhy::GetPhyRateFromTxVector(), ns3::WifiPhyHelper::GetRadiotapHeader(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), ns3::HeRu::RuSpecCompare::operator()(), ns3::operator<<(), and ns3::CtrlTriggerUserInfoField::SetRuAllocation().
bool ns3::HeRu::RuSpec::operator!= | ( | const RuSpec & | other | ) | const |
bool ns3::HeRu::RuSpec::operator< | ( | const RuSpec & | other | ) | const |
Compare this RU to the given RU.
other | the given RU |
Definition at line 887 of file he-ru.cc.
References m_index, m_primary80MHz, and m_ruType.
bool ns3::HeRu::RuSpec::operator== | ( | const RuSpec & | other | ) | const |
Compare this RU to the given RU.
other | the given RU |
Definition at line 872 of file he-ru.cc.
References m_index, m_primary80MHz, and m_ruType.
|
private |
RU index (starting at 1) as defined by Tables 27-7 to 27-9 of 802.11ax D8.0.
Definition at line 123 of file he-ru.h.
Referenced by operator<(), and operator==().
|
private |
true if the RU is allocated in the primary 80MHz channel
Definition at line 125 of file he-ru.h.
Referenced by operator<(), and operator==().
|
private |