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

Static Public Member Functions

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

Public Attributes

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

Private Attributes

Time m_guardInterval
 Supported HE guard interval.
 

Additional Inherited Members

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

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

  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • BssColor: The BSS color
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:255
    • Initial value: 0
    • Flags: constructwriteread
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED
  • 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
    • Support level: SUPPORTED

No TraceSources are defined for this type.
Group: Wifi

Size of this type is 128 bytes (on a 64-bit architecture).

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

Constructor & Destructor Documentation

◆ HeConfiguration()

ns3::HeConfiguration::HeConfiguration ( )

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

References NS_LOG_FUNCTION.

Member Function Documentation

◆ GetBssColor()

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

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

References m_bssColor.

◆ GetGuardInterval()

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

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

References m_guardInterval.

Referenced by GetTypeId().

+ Here is the caller graph for this function:

◆ GetMaxTbPpduDelay()

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

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

References m_maxTbPpduDelay.

◆ GetTypeId()

TypeId ns3::HeConfiguration::GetTypeId ( )
static

◆ SetBssColor()

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

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

References m_bssColor, and NS_LOG_FUNCTION.

◆ SetGuardInterval()

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

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

References ns3::Time::GetNanoSeconds(), m_guardInterval, 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 202 of file he-configuration.cc.

References m_maxTbPpduDelay.

Member Data Documentation

◆ m_beMuEdcaTimer

Time ns3::HeConfiguration::m_beMuEdcaTimer

Timer for BE in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_bkMuEdcaTimer

Time ns3::HeConfiguration::m_bkMuEdcaTimer

Timer for BK in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_bssColor

uint8_t ns3::HeConfiguration::m_bssColor

BSS color.

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

Referenced by GetBssColor(), GetTypeId(), and SetBssColor().

◆ m_guardInterval

Time ns3::HeConfiguration::m_guardInterval
private

Supported HE guard interval.

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

Referenced by GetGuardInterval(), and SetGuardInterval().

◆ m_maxTbPpduDelay

Time ns3::HeConfiguration::m_maxTbPpduDelay

Max TB PPDU delay.

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

Referenced by GetMaxTbPpduDelay(), GetTypeId(), and SetMaxTbPpduDelay().

◆ m_muBeAifsn

uint8_t ns3::HeConfiguration::m_muBeAifsn

AIFSN for BE in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muBeCwMax

uint16_t ns3::HeConfiguration::m_muBeCwMax

CWmax for BE in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muBeCwMin

uint16_t ns3::HeConfiguration::m_muBeCwMin

CWmin for BE in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muBkAifsn

uint8_t ns3::HeConfiguration::m_muBkAifsn

AIFSN for BK in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muBkCwMax

uint16_t ns3::HeConfiguration::m_muBkCwMax

CWmax for BK in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muBkCwMin

uint16_t ns3::HeConfiguration::m_muBkCwMin

CWmin for BK in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muViAifsn

uint8_t ns3::HeConfiguration::m_muViAifsn

AIFSN for VI in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muViCwMax

uint16_t ns3::HeConfiguration::m_muViCwMax

CWmax for VI in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muViCwMin

uint16_t ns3::HeConfiguration::m_muViCwMin

CWmin for VI in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muVoAifsn

uint8_t ns3::HeConfiguration::m_muVoAifsn

AIFSN for VO in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muVoCwMax

uint16_t ns3::HeConfiguration::m_muVoCwMax

CWmax for VO in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_muVoCwMin

uint16_t ns3::HeConfiguration::m_muVoCwMin

CWmin for VO in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_viMuEdcaTimer

Time ns3::HeConfiguration::m_viMuEdcaTimer

Timer for VI in MU EDCA Parameter Set.

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

Referenced by GetTypeId().

◆ m_voMuEdcaTimer

Time ns3::HeConfiguration::m_voMuEdcaTimer

Timer for VO in MU EDCA Parameter Set.

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

Referenced by GetTypeId().


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