A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::HeRu::RuSpec Class Reference

RU Specification. More...

#include "he-ru.h"

+ Collaboration diagram for ns3::HeRu::RuSpec:

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 (uint16_t 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.
 

Detailed Description

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.

Definition at line 65 of file he-ru.h.

Constructor & Destructor Documentation

◆ RuSpec() [1/2]

ns3::HeRu::RuSpec::RuSpec ( )

Default constructor.

Definition at line 440 of file he-ru.cc.

◆ RuSpec() [2/2]

ns3::HeRu::RuSpec::RuSpec ( RuType  ruType,
std::size_t  index,
bool  primary80MHz 
)

Constructor.

Parameters
ruTypethe RU type
indexthe RU index (starting at 1)
primary80MHzwhether the RU is allocated in the primary 80MHz channel

Definition at line 445 of file he-ru.cc.

References NS_ABORT_MSG_IF.

Member Function Documentation

◆ GetIndex()

std::size_t ns3::HeRu::RuSpec::GetIndex ( ) const

Get the RU index.

Returns
the RU index

Definition at line 461 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().

+ Here is the caller graph for this function:

◆ GetPhyIndex()

std::size_t ns3::HeRu::RuSpec::GetPhyIndex ( uint16_t  bw,
uint8_t  p20Index 
) const

Get the RU PHY index.

Parameters
bwthe width of the channel of which the RU is part (in MHz)
p20Indexthe index of the primary20 channel
Returns
the RU PHY index

Definition at line 475 of file he-ru.cc.

References ns3::HeRu::GetNRus(), and ns3::HeRu::RU_2x996_TONE.

Referenced by ns3::HeRu::DoesOverlap(), ns3::HePhy::GetCenterFrequencyForNonHePart(), ns3::SpectrumWifiPhy::GetHeRuBands(), ns3::HePhy::GetNonOfdmaBand(), ns3::HePhy::GetRuBandForRx(), ns3::HePhy::GetRuBandForTx(), and ns3::HeRu::RuSpecCompare::operator()().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetPrimary80MHz()

bool ns3::HeRu::RuSpec::GetPrimary80MHz ( ) const

Get the primary 80 MHz flag.

Returns
true if the RU is in the primary 80 MHz channel and false otherwise

Definition at line 468 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().

+ Here is the caller graph for this function:

◆ GetRuType()

◆ operator!=()

bool ns3::HeRu::RuSpec::operator!= ( const RuSpec other) const

Compare this RU to the given RU.

Parameters
otherthe given RU
Returns
true if this RU differs from the given RU, false otherwise

Definition at line 889 of file he-ru.cc.

◆ operator<()

bool ns3::HeRu::RuSpec::operator< ( const RuSpec other) const

Compare this RU to the given RU.

Parameters
otherthe given RU
Returns
true if this RU is smaller than the given RU, false otherwise

Definition at line 894 of file he-ru.cc.

References m_index, m_primary80MHz, and m_ruType.

◆ operator==()

bool ns3::HeRu::RuSpec::operator== ( const RuSpec other) const

Compare this RU to the given RU.

Parameters
otherthe given RU
Returns
true if this RU compares equal to the given RU, false otherwise

Definition at line 879 of file he-ru.cc.

References m_index, m_primary80MHz, and m_ruType.

Member Data Documentation

◆ m_index

std::size_t ns3::HeRu::RuSpec::m_index
private

RU index (starting at 1) as defined by Tables 27-7 to 27-9 of 802.11ax D8.0.

Definition at line 132 of file he-ru.h.

Referenced by operator<(), and operator==().

◆ m_primary80MHz

bool ns3::HeRu::RuSpec::m_primary80MHz
private

true if the RU is allocated in the primary 80MHz channel

Definition at line 134 of file he-ru.h.

Referenced by operator<(), and operator==().

◆ m_ruType

RuType ns3::HeRu::RuSpec::m_ruType
private

RU type.

Definition at line 131 of file he-ru.h.

Referenced by operator<(), and operator==().


The documentation for this class was generated from the following files: