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

EHT configuration. More...

#include "eht-configuration.h"

+ Inheritance diagram for ns3::EhtConfiguration:
+ Collaboration diagram for ns3::EhtConfiguration:

Public Member Functions

 EhtConfiguration ()
 
 ~EhtConfiguration () override
 
WifiTidLinkMapping GetTidLinkMapping (WifiDirection dir) const
 
void SetTidLinkMapping (WifiDirection dir, const std::map< std::list< uint8_t >, std::list< uint8_t > > &mapping)
 Set the TID-to-Link mapping for the given direction.
 
- 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) 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.
 
virtual TypeId GetInstanceTypeId () const =0
 Get the most derived TypeId for this Object.
 
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.
 

Private Attributes

bool m_emlsrActivated
 whether EMLSR option is activated
 
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingDl
 TIDs-indexed Link Mapping for downlink.
 
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingUl
 TIDs-indexed Link Mapping for uplink.
 
Time m_mediumSyncDuration
 duration of the MediumSyncDelay timer
 
uint8_t m_msdMaxNTxops
 MediumSyncDelay max number of TXOPs.
 
int8_t m_msdOfdmEdThreshold
 MediumSyncDelay OFDM ED threshold.
 
WifiTidToLinkMappingNegSupport m_tidLinkMappingSupport
 TID-to-Link Mapping Negotiation Support.
 
Time m_transitionTimeout
 Transition timeout.
 

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

EHT configuration.

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

Config Paths

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

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

Attributes

  • EmlsrActivated: Whether EMLSR option is activated. If activated, EMLSR mode can be enabled on the EMLSR links by an installed EMLSR Manager.
    • Set with class: ns3::BooleanValue
    • Underlying type: bool
    • Initial value: false
    • Flags: constructread
  • MediumSyncDuration: The duration of the MediumSyncDelay timer (must be a multiple of 32 us). The value of this attribute is only used by AP MLDs with EMLSR activated.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+8.16e+06ns
    • Initial value: +5.472e+06ns
    • Flags: constructwriteread
  • MsdMaxNTxops: Maximum number of TXOPs that an EMLSR client is allowed to attempt to initiate while the MediumSyncDelay timer is running (zero indicates no limit). The value of this attribute is only used by AP MLDs with EMLSR activated.
    • Set with class: ns3::UintegerValue
    • Underlying type: uint8_t 0:15
    • Initial value: 1
    • Flags: constructwriteread
  • MsdOfdmEdThreshold: Threshold (dBm) to be used instead of the normal CCA sensitivity for the primary 20 MHz channel if the MediumSyncDelay timer has a nonzero value. The value of this attribute is only used by AP MLDs with EMLSR activated.
    • Set with class: ns3::IntegerValue
    • Underlying type: int8_t -72:-62
    • Initial value: -72
    • Flags: constructwriteread
  • TidToLinkMappingDl: A list-of-TIDs-indexed map of the list of links where the TIDs are mapped to for the downlink direction. In case a string is used to set this attribute, the string shall contain the (TID list, link list) pairs separated by a semicolon (;); in every pair, the TID list and the link list are separated by a blank space, and the elements of each list are separated by a comma (,) without spaces. E.g., "0,4 1,2,3; 1 0;2 0,1" means that TIDs 0 and 4 are mapped on links 1, 2 and 3; TID 1 is mapped on link 0 and TID 2 is mapped on links 0 and 1. An empty map indicates the default mapping, i.e., all TIDs are mapped to all setup links. If the map contains the mapping for some TID(s), the mapping corresponding to the missing TID(s) remains unchanged. A non-AP MLD includes this mapping in the Association Request frame sent to an AP MLD, unless the AP MLD advertises a negotiation support of 1 and this mapping is such that TIDs are mapped to distinct link sets, in which case the default mapping is included.
  • TidToLinkMappingNegSupport: TID-to-Link Mapping Negotiation Support.
  • TidToLinkMappingUl: A list-of-TIDs-indexed map of the list of links where the TIDs are mapped to for the uplink direction. In case a string is used to set this attribute, the string shall contain the (TID list, link list) pairs separated by a semicolon (;); in every pair, the TID list and the link list are separated by a blank space, and the elements of each list are separated by a comma (,) without spaces. E.g., "0,4 1,2,3; 1 0;2 0,1" means that TIDs 0 and 4 are mapped on links 1, 2 and 3; TID 1 is mapped on link 0 and TID 2 is mapped on links 0 and 1. An empty map indicates the default mapping, i.e., all TIDs are mapped to all setup links. If the map contains the mapping for some TID(s), the mapping corresponding to the missing TID(s) remains unchanged. A non-AP MLD includes this mapping in the Association Request frame sent to an AP MLD, unless the AP MLD advertises a negotiation support of 1 and this mapping is such that TIDs are mapped to distinct link sets, in which case the default mapping is included.
  • TransitionTimeout: The Transition Timeout (not used by non-AP MLDs). Possible values are 0us or 2^n us, with n=7..16.
    • Set with class: ns3::TimeValue
    • Underlying type: Time +0ns:+6.5536e+07ns
    • Initial value: +0ns
    • Flags: constructwriteread

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

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

Constructor & Destructor Documentation

◆ EhtConfiguration()

ns3::EhtConfiguration::EhtConfiguration ( )

Definition at line 54 of file eht-configuration.cc.

References NS_LOG_FUNCTION.

◆ ~EhtConfiguration()

ns3::EhtConfiguration::~EhtConfiguration ( )
override

Definition at line 59 of file eht-configuration.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

◆ GetTidLinkMapping()

WifiTidLinkMapping ns3::EhtConfiguration::GetTidLinkMapping ( WifiDirection  dir) const
Parameters
dirthe direction for the requested TID-to-Link Mapping
Returns
a TID-indexed map of the list of links where each TID is mapped to

Definition at line 181 of file eht-configuration.cc.

References ns3::BOTH_DIRECTIONS, dir, ns3::DOWNLINK, m_linkMappingDl, m_linkMappingUl, and NS_ASSERT.

◆ GetTypeId()

◆ SetTidLinkMapping()

void ns3::EhtConfiguration::SetTidLinkMapping ( WifiDirection  dir,
const std::map< std::list< uint8_t >, std::list< uint8_t > > &  mapping 
)

Set the TID-to-Link mapping for the given direction.

Parameters
dirthe direction for the TID-to-Link Mapping
mappinga list-of-TIDs-indexed map of the list of links where the TIDs are mapped to

Definition at line 198 of file eht-configuration.cc.

References ns3::BOTH_DIRECTIONS, dir, ns3::DOWNLINK, m_linkMappingDl, m_linkMappingUl, and NS_ASSERT.

Member Data Documentation

◆ m_emlsrActivated

bool ns3::EhtConfiguration::m_emlsrActivated
private

whether EMLSR option is activated

Definition at line 109 of file eht-configuration.h.

Referenced by GetTypeId().

◆ m_linkMappingDl

std::map<std::list<uint64_t>, std::list<uint64_t> > ns3::EhtConfiguration::m_linkMappingDl
private

TIDs-indexed Link Mapping for downlink.

Definition at line 117 of file eht-configuration.h.

Referenced by GetTidLinkMapping(), GetTypeId(), and SetTidLinkMapping().

◆ m_linkMappingUl

std::map<std::list<uint64_t>, std::list<uint64_t> > ns3::EhtConfiguration::m_linkMappingUl
private

TIDs-indexed Link Mapping for uplink.

Definition at line 119 of file eht-configuration.h.

Referenced by GetTidLinkMapping(), GetTypeId(), and SetTidLinkMapping().

◆ m_mediumSyncDuration

Time ns3::EhtConfiguration::m_mediumSyncDuration
private

duration of the MediumSyncDelay timer

Definition at line 111 of file eht-configuration.h.

Referenced by GetTypeId().

◆ m_msdMaxNTxops

uint8_t ns3::EhtConfiguration::m_msdMaxNTxops
private

MediumSyncDelay max number of TXOPs.

Definition at line 113 of file eht-configuration.h.

Referenced by GetTypeId().

◆ m_msdOfdmEdThreshold

int8_t ns3::EhtConfiguration::m_msdOfdmEdThreshold
private

MediumSyncDelay OFDM ED threshold.

Definition at line 112 of file eht-configuration.h.

Referenced by GetTypeId().

◆ m_tidLinkMappingSupport

WifiTidToLinkMappingNegSupport ns3::EhtConfiguration::m_tidLinkMappingSupport
private

TID-to-Link Mapping Negotiation Support.

Definition at line 115 of file eht-configuration.h.

Referenced by GetTypeId().

◆ m_transitionTimeout

Time ns3::EhtConfiguration::m_transitionTimeout
private

Transition timeout.

Definition at line 110 of file eht-configuration.h.

Referenced by GetTypeId().


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