A Discrete-Event Network Simulator
API
ns3::HeConfiguration Class Reference

HE configuration. More...

#include "he-configuration.h"

+ Inheritance diagram for ns3::HeConfiguration:
+ Collaboration diagram for ns3::HeConfiguration:

Public Member Functions

 HeConfiguration ()
 
uint8_t GetBssColor (void) const
 
Time GetGuardInterval (void) const
 
Time GetMaxTbPpduDelay (void) const
 
uint16_t GetMpduBufferSize (void) const
 
void SetBssColor (uint8_t bssColor)
 
void SetGuardInterval (Time guardInterval)
 
void SetMaxTbPpduDelay (Time maxTbPpduDelay)
 
void SetMpduBufferSize (uint16_t size)
 
- Public Member Functions inherited from ns3::Object
 Object ()
 Constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
void AggregateObject (Ptr< Object > other)
 Aggregate two Objects together. More...
 
void Dispose (void)
 Dispose of this Object. More...
 
AggregateIterator GetAggregateIterator (void) const
 Get an iterator to the Objects aggregated to this one. More...
 
virtual TypeId GetInstanceTypeId (void) const
 Get the most derived TypeId for this Object. More...
 
template<>
Ptr< ObjectGetObject () const
 Specialization of () for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (TypeId tid) const
 Get a pointer to the requested aggregated Object by TypeId. More...
 
template<>
Ptr< ObjectGetObject (TypeId tid) const
 Specialization of (TypeId tid) for objects of type ns3::Object. More...
 
template<typename T >
Ptr< T > GetObject (void) const
 Get a pointer to the requested aggregated Object. More...
 
void Initialize (void)
 Invoke DoInitialize on all Objects aggregated to this one. More...
 
bool IsInitialized (void) const
 Check if the object has been initialized. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 
- Public Member Functions inherited from ns3::ObjectBase
virtual ~ObjectBase ()
 Virtual destructor. More...
 
void GetAttribute (std::string name, AttributeValue &value) const
 Get the value of an attribute, raising fatal errors if unsuccessful. More...
 
bool GetAttributeFailSafe (std::string name, AttributeValue &value) const
 Get the value of an attribute without raising erros. More...
 
virtual TypeId GetInstanceTypeId (void) const =0
 Get the most derived TypeId for this Object. More...
 
void SetAttribute (std::string name, const AttributeValue &value)
 Set a single attribute, raising fatal errors if unsuccessful. More...
 
bool SetAttributeFailSafe (std::string name, const AttributeValue &value)
 Set a single attribute without raising errors. More...
 
bool TraceConnect (std::string name, std::string context, const CallbackBase &cb)
 Connect a TraceSource to a Callback with a context. More...
 
bool TraceConnectWithoutContext (std::string name, const CallbackBase &cb)
 Connect a TraceSource to a Callback without a context. More...
 
bool TraceDisconnect (std::string name, std::string context, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected with a context. More...
 
bool TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb)
 Disconnect from a TraceSource a Callback previously connected without a context. More...
 

Static Public Member Functions

static TypeId GetTypeId (void)
 Get the type ID. More...
 
- Static Public Member Functions inherited from ns3::Object
static TypeId GetTypeId (void)
 Register this type. More...
 
- Static Public Member Functions inherited from ns3::ObjectBase
static TypeId GetTypeId (void)
 Get the type ID. More...
 

Private Attributes

Time m_beMuEdcaTimer
 Timer for BE in MU EDCA Parameter Set. More...
 
Time m_bkMuEdcaTimer
 Timer for BK in MU EDCA Parameter Set. More...
 
uint8_t m_bssColor
 BSS color. More...
 
Time m_guardInterval
 Supported HE guard interval. More...
 
Time m_maxTbPpduDelay
 Max TB PPDU delay. More...
 
uint16_t m_mpduBufferSize
 MPDU buffer size. More...
 
uint8_t m_muBeAifsn
 AIFSN for BE in MU EDCA Parameter Set. More...
 
uint16_t m_muBeCwMax
 CWmax for BE in MU EDCA Parameter Set. More...
 
uint16_t m_muBeCwMin
 CWmin for BE in MU EDCA Parameter Set. More...
 
uint8_t m_muBkAifsn
 AIFSN for BK in MU EDCA Parameter Set. More...
 
uint16_t m_muBkCwMax
 CWmax for BK in MU EDCA Parameter Set. More...
 
uint16_t m_muBkCwMin
 CWmin for BK in MU EDCA Parameter Set. More...
 
uint8_t m_muViAifsn
 AIFSN for VI in MU EDCA Parameter Set. More...
 
uint16_t m_muViCwMax
 CWmax for VI in MU EDCA Parameter Set. More...
 
uint16_t m_muViCwMin
 CWmin for VI in MU EDCA Parameter Set. More...
 
uint8_t m_muVoAifsn
 AIFSN for VO in MU EDCA Parameter Set. More...
 
uint16_t m_muVoCwMax
 CWmax for VO in MU EDCA Parameter Set. More...
 
uint16_t m_muVoCwMin
 CWmin for VO in MU EDCA Parameter Set. More...
 
Time m_viMuEdcaTimer
 Timer for VI in MU EDCA Parameter Set. More...
 
Time m_voMuEdcaTimer
 Timer for VO in MU EDCA Parameter Set. More...
 

Additional Inherited Members

- Protected Member Functions inherited from ns3::Object
 Object (const Object &o)
 Copy an Object. More...
 
virtual void DoDispose (void)
 Destructor implementation. More...
 
virtual void DoInitialize (void)
 Initialize() implementation. More...
 
virtual void NotifyNewAggregate (void)
 Notify all Objects aggregated to this one of a new Object being aggregated. More...
 
- Protected Member Functions inherited from ns3::ObjectBase
void ConstructSelf (const AttributeConstructionList &attributes)
 Complete construction of ObjectBase; invoked by derived classes. More...
 
virtual void NotifyConstructionCompleted (void)
 Notifier called once the ObjectBase is fully constructed. More...
 

Detailed Description

HE configuration.

This object stores HE configuration information, for use in modifying AP or STA behavior and for constructing HE-related information elements.

Config Paths

ns3::HeConfiguration is accessible through the following paths with Config::Set and Config::Connect:

  • "/NodeList/[i]/DeviceList/[i]/$ns3::WifiNetDevice/HeConfiguration"

Attributes

  • GuardInterval: Specify the shortest guard interval duration that can be used for HE transmissions.Possible values are 800ns, 1600ns or 3200ns.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +800ns:+3200ns
    • Initial value: +3200ns
    • Flags: constructwriteread
  • BssColor: The BSS color
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 0
    • Flags: constructwriteread
  • MaxTbPpduDelay: If positive, the value of this attribute specifies the maximum delay with which a TB PPDU can be received after the reception of the first TB PPDU. If the delay is higher than this value, the TB PPDU is dropped and considered interference. The maximum delay is anyway capped at the duration of the training fields in the PPDU. This attribute is only valid for APs.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+9.22337e+18ns
    • Initial value: +0ns
    • Flags: constructwriteread
  • MpduBufferSize: The MPDU buffer size for receiving A-MPDUs
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 64:256
    • Initial value: 64
    • Flags: constructwriteread
  • MuBeAifsn: AIFSN used by BE EDCA when the MU EDCA Timer is running. It must be either zero (EDCA disabled) or a value from 2 to 15.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:15
    • Initial value: 0
    • Flags: constructwriteread
  • MuBkAifsn: AIFSN used by BK EDCA when the MU EDCA Timer is running. It must be either zero (EDCA disabled) or a value from 2 to 15.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:15
    • Initial value: 0
    • Flags: constructwriteread
  • MuViAifsn: AIFSN used by VI EDCA when the MU EDCA Timer is running. It must be either zero (EDCA disabled) or a value from 2 to 15.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:15
    • Initial value: 0
    • Flags: constructwriteread
  • MuVoAifsn: AIFSN used by VO EDCA when the MU EDCA Timer is running. It must be either zero (EDCA disabled) or a value from 2 to 15.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:15
    • Initial value: 0
    • Flags: constructwriteread
  • MuBeCwMin: CWmin used by BE EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 15
    • Flags: constructwriteread
  • MuBkCwMin: CWmin used by BK EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 15
    • Flags: constructwriteread
  • MuViCwMin: CWmin used by VI EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 15
    • Flags: constructwriteread
  • MuVoCwMin: CWmin used by VO EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 15
    • Flags: constructwriteread
  • MuBeCwMax: CWmax used by BE EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 1023
    • Flags: constructwriteread
  • MuBkCwMax: CWmax used by BK EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 1023
    • Flags: constructwriteread
  • MuViCwMax: CWmax used by VI EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 1023
    • Flags: constructwriteread
  • MuVoCwMax: CWmax used by VO EDCA when the MU EDCA Timer is running. It must be a power of 2 minus 1 in the range from 0 to 32767.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint16_t 0:32767
    • Initial value: 1023
    • Flags: constructwriteread
  • BeMuEdcaTimer: The MU EDCA Timer used by BE EDCA. It must be a multiple of 8192 us and must be in the range from 8.192 ms to 2088.96 ms. 0 is a reserved value, but we allow to use this value to indicate that an MU EDCA Parameter Set element must not be sent. Therefore, 0 can only be used if the MU EDCA Timer for all ACs is set to 0.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+2.08896e+09ns
    • Initial value: +0ns
    • Flags: constructwriteread
  • BkMuEdcaTimer: The MU EDCA Timer used by BK EDCA. It must be a multiple of 8192 us and must be in the range from 8.192 ms to 2088.96 ms.0 is a reserved value, but we allow to use this value to indicate that an MU EDCA Parameter Set element must not be sent. Therefore, 0 can only be used if the MU EDCA Timer for all ACs is set to 0.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+2.08896e+09ns
    • Initial value: +0ns
    • Flags: constructwriteread
  • ViMuEdcaTimer: The MU EDCA Timer used by VI EDCA. It must be a multiple of 8192 us and must be in the range from 8.192 ms to 2088.96 ms.0 is a reserved value, but we allow to use this value to indicate that an MU EDCA Parameter Set element must not be sent. Therefore, 0 can only be used if the MU EDCA Timer for all ACs is set to 0.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+2.08896e+09ns
    • Initial value: +0ns
    • Flags: constructwriteread
  • VoMuEdcaTimer: The MU EDCA Timer used by VO EDCA. It must be a multiple of 8192 us and must be in the range from 8.192 ms to 2088.96 ms.0 is a reserved value, but we allow to use this value to indicate that an MU EDCA Parameter Set element must not be sent. Therefore, 0 can only be used if the MU EDCA Timer for all ACs is set to 0.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+2.08896e+09ns
    • Initial value: +0ns
    • Flags: constructwriteread

No TraceSources are defined for this type.
Size of this type is 112 bytes (on a 64-bit architecture).

Definition at line 36 of file he-configuration.h.

Constructor & Destructor Documentation

◆ HeConfiguration()

ns3::HeConfiguration::HeConfiguration ( )

Definition at line 30 of file he-configuration.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ GetBssColor()

uint8_t ns3::HeConfiguration::GetBssColor ( void  ) const
Returns
the BSS color

Definition at line 206 of file he-configuration.cc.

References m_bssColor.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetGuardInterval()

Time ns3::HeConfiguration::GetGuardInterval ( void  ) const
Returns
the supported HE guard interval

Definition at line 193 of file he-configuration.cc.

References m_guardInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxTbPpduDelay()

Time ns3::HeConfiguration::GetMaxTbPpduDelay ( void  ) const
Returns
the maximum TB PPDU delay

Definition at line 212 of file he-configuration.cc.

References m_maxTbPpduDelay.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMpduBufferSize()

uint16_t ns3::HeConfiguration::GetMpduBufferSize ( void  ) const
Returns
the MPDU buffer size to receive A-MPDUs

Definition at line 231 of file he-configuration.cc.

References m_mpduBufferSize.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetTypeId()

◆ SetBssColor()

void ns3::HeConfiguration::SetBssColor ( uint8_t  bssColor)
Parameters
bssColorthe BSS color

Definition at line 199 of file he-configuration.cc.

References m_bssColor, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetGuardInterval()

void ns3::HeConfiguration::SetGuardInterval ( Time  guardInterval)
Parameters
guardIntervalthe supported HE guard interval

Definition at line 185 of file he-configuration.cc.

References m_guardInterval, ns3::NanoSeconds(), NS_ASSERT, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

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

◆ SetMaxTbPpduDelay()

void ns3::HeConfiguration::SetMaxTbPpduDelay ( Time  maxTbPpduDelay)
Parameters
maxTbPpduDelaythe maximum TB PPDU delay

Definition at line 218 of file he-configuration.cc.

References m_maxTbPpduDelay.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ SetMpduBufferSize()

void ns3::HeConfiguration::SetMpduBufferSize ( uint16_t  size)
Parameters
sizethe MPDU buffer size to receive A-MPDUs

Definition at line 224 of file he-configuration.cc.

References m_mpduBufferSize, and NS_LOG_FUNCTION.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_beMuEdcaTimer

Time ns3::HeConfiguration::m_beMuEdcaTimer
private

Timer for BE in MU EDCA Parameter Set.

Definition at line 98 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_bkMuEdcaTimer

Time ns3::HeConfiguration::m_bkMuEdcaTimer
private

Timer for BK in MU EDCA Parameter Set.

Definition at line 99 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_bssColor

uint8_t ns3::HeConfiguration::m_bssColor
private

BSS color.

Definition at line 83 of file he-configuration.h.

Referenced by GetBssColor(), and SetBssColor().

◆ m_guardInterval

Time ns3::HeConfiguration::m_guardInterval
private

Supported HE guard interval.

Definition at line 82 of file he-configuration.h.

Referenced by GetGuardInterval(), and SetGuardInterval().

◆ m_maxTbPpduDelay

Time ns3::HeConfiguration::m_maxTbPpduDelay
private

Max TB PPDU delay.

Definition at line 84 of file he-configuration.h.

Referenced by GetMaxTbPpduDelay(), and SetMaxTbPpduDelay().

◆ m_mpduBufferSize

uint16_t ns3::HeConfiguration::m_mpduBufferSize
private

MPDU buffer size.

Definition at line 85 of file he-configuration.h.

Referenced by GetMpduBufferSize(), and SetMpduBufferSize().

◆ m_muBeAifsn

uint8_t ns3::HeConfiguration::m_muBeAifsn
private

AIFSN for BE in MU EDCA Parameter Set.

Definition at line 86 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muBeCwMax

uint16_t ns3::HeConfiguration::m_muBeCwMax
private

CWmax for BE in MU EDCA Parameter Set.

Definition at line 94 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muBeCwMin

uint16_t ns3::HeConfiguration::m_muBeCwMin
private

CWmin for BE in MU EDCA Parameter Set.

Definition at line 90 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muBkAifsn

uint8_t ns3::HeConfiguration::m_muBkAifsn
private

AIFSN for BK in MU EDCA Parameter Set.

Definition at line 87 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muBkCwMax

uint16_t ns3::HeConfiguration::m_muBkCwMax
private

CWmax for BK in MU EDCA Parameter Set.

Definition at line 95 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muBkCwMin

uint16_t ns3::HeConfiguration::m_muBkCwMin
private

CWmin for BK in MU EDCA Parameter Set.

Definition at line 91 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muViAifsn

uint8_t ns3::HeConfiguration::m_muViAifsn
private

AIFSN for VI in MU EDCA Parameter Set.

Definition at line 88 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muViCwMax

uint16_t ns3::HeConfiguration::m_muViCwMax
private

CWmax for VI in MU EDCA Parameter Set.

Definition at line 96 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muViCwMin

uint16_t ns3::HeConfiguration::m_muViCwMin
private

CWmin for VI in MU EDCA Parameter Set.

Definition at line 92 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muVoAifsn

uint8_t ns3::HeConfiguration::m_muVoAifsn
private

AIFSN for VO in MU EDCA Parameter Set.

Definition at line 89 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muVoCwMax

uint16_t ns3::HeConfiguration::m_muVoCwMax
private

CWmax for VO in MU EDCA Parameter Set.

Definition at line 97 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_muVoCwMin

uint16_t ns3::HeConfiguration::m_muVoCwMin
private

CWmin for VO in MU EDCA Parameter Set.

Definition at line 93 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_viMuEdcaTimer

Time ns3::HeConfiguration::m_viMuEdcaTimer
private

Timer for VI in MU EDCA Parameter Set.

Definition at line 100 of file he-configuration.h.

Referenced by GetTypeId().

◆ m_voMuEdcaTimer

Time ns3::HeConfiguration::m_voMuEdcaTimer
private

Timer for VO in MU EDCA Parameter Set.

Definition at line 101 of file he-configuration.h.

Referenced by GetTypeId().


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