A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::CommonInfoBasicMle Struct Reference

Common Info field of the Basic Multi-Link element. More...

#include "multi-link-element.h"

+ Collaboration diagram for ns3::CommonInfoBasicMle:

Classes

struct  EmlCapabilities
 EML Capabilities subfield. More...
 
struct  MediumSyncDelayInfo
 Medium Synchronization Delay Information subfield. More...
 
struct  MldCapabilities
 MLD Capabilities subfield. More...
 

Public Member Functions

uint8_t Deserialize (Buffer::Iterator start, uint16_t presence)
 Deserialize the Common Info field.
 
uint16_t GetPresenceBitmap () const
 Get the Presence Bitmap subfield of the Common Info field.
 
uint8_t GetSize () const
 Get the size of the serialized Common Info field.
 
void Serialize (Buffer::Iterator &start) const
 Serialize the Common Info field.
 

Static Public Member Functions

static Time DecodeEmlsrPaddingDelay (uint8_t value)
 
static Time DecodeEmlsrTransitionDelay (uint8_t value)
 
static uint8_t EncodeEmlsrPaddingDelay (Time delay)
 
static uint8_t EncodeEmlsrTransitionDelay (Time delay)
 

Public Attributes

std::optional< uint8_t > m_bssParamsChangeCount
 BSS Parameters Change Count.
 
std::optional< EmlCapabilitiesm_emlCapabilities
 EML Capabilities.
 
std::optional< uint8_t > m_linkIdInfo
 Link ID Info.
 
std::optional< MediumSyncDelayInfom_mediumSyncDelayInfo
 Medium Synchronization Delay Information.
 
std::optional< MldCapabilitiesm_mldCapabilities
 MLD Capabilities.
 
Mac48Address m_mldMacAddress
 Subfields.
 

Detailed Description

Common Info field of the Basic Multi-Link element.

See Sec. 9.4.2.312.2.2 of 802.11be D1.5

Definition at line 46 of file multi-link-element.h.

Member Function Documentation

◆ DecodeEmlsrPaddingDelay()

Time ns3::CommonInfoBasicMle::DecodeEmlsrPaddingDelay ( uint8_t  value)
static
Parameters
valuethe value for the EMLSR Padding Delay subfield
Returns
the corresponding EMLSR Padding delay

Definition at line 179 of file multi-link-element.cc.

References ns3::MicroSeconds(), and NS_ABORT_MSG_IF.

Referenced by EmlOperatingModeNotificationTest::DoRun(), ns3::MultiLinkElement::GetEmlsrPaddingDelay(), and ns3::MgtEmlOperatingModeNotification::Print().

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

◆ DecodeEmlsrTransitionDelay()

Time ns3::CommonInfoBasicMle::DecodeEmlsrTransitionDelay ( uint8_t  value)
static
Parameters
valuethe value for the EMLSR Transition Delay subfield
Returns
the corresponding EMLSR Transition delay

Definition at line 212 of file multi-link-element.cc.

References ns3::MicroSeconds(), and NS_ABORT_MSG_IF.

Referenced by EmlOperatingModeNotificationTest::DoRun(), ns3::EhtFrameExchangeManager::EmlsrSwitchToListening(), ns3::MultiLinkElement::GetEmlsrTransitionDelay(), and ns3::MgtEmlOperatingModeNotification::Print().

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

◆ Deserialize()

uint8_t ns3::CommonInfoBasicMle::Deserialize ( Buffer::Iterator  start,
uint16_t  presence 
)

Deserialize the Common Info field.

Parameters
startiterator pointing to where the Common Info field should be read from
presencethe value of the Presence Bitmap field indicating which subfields are present in the Common Info field
Returns
the number of bytes read

Definition at line 97 of file multi-link-element.cc.

References m_bssParamsChangeCount, m_emlCapabilities, m_linkIdInfo, m_mediumSyncDelayInfo, m_mldCapabilities, m_mldMacAddress, NS_ABORT_MSG_IF, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadLsbtohU16(), and ns3::Buffer::Iterator::ReadU8().

Referenced by BasicMultiLinkElementTest::DoRun().

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

◆ EncodeEmlsrPaddingDelay()

uint8_t ns3::CommonInfoBasicMle::EncodeEmlsrPaddingDelay ( Time  delay)
static
Parameters
delaythe EMLSR Padding delay
Returns
the encoded value for the EMLSR Padding Delay subfield

Definition at line 157 of file multi-link-element.cc.

References ns3::Time::As(), ns3::Time::GetMicroSeconds(), NS_ABORT_MSG, and ns3::Time::US.

Referenced by EmlOperatingModeNotificationTest::DoRun(), ns3::ApWifiMac::ParseReportedStaInfo(), ns3::EmlsrManager::SendEmlOperatingModeNotification(), and ns3::MultiLinkElement::SetEmlsrPaddingDelay().

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

◆ EncodeEmlsrTransitionDelay()

uint8_t ns3::CommonInfoBasicMle::EncodeEmlsrTransitionDelay ( Time  delay)
static
Parameters
delaythe EMLSR Transition delay
Returns
the encoded value for the EMLSR Transition Delay subfield

Definition at line 190 of file multi-link-element.cc.

References ns3::Time::As(), ns3::Time::GetMicroSeconds(), NS_ABORT_MSG, and ns3::Time::US.

Referenced by EmlOperatingModeNotificationTest::DoRun(), ns3::ApWifiMac::ParseReportedStaInfo(), ns3::EmlsrManager::SendEmlOperatingModeNotification(), and ns3::MultiLinkElement::SetEmlsrTransitionDelay().

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

◆ GetPresenceBitmap()

uint16_t ns3::CommonInfoBasicMle::GetPresenceBitmap ( ) const

Get the Presence Bitmap subfield of the Common Info field.

CommonInfoBasicMle.

Returns
the Presence Bitmap subfield of the Common Info field

Definition at line 35 of file multi-link-element.cc.

References m_bssParamsChangeCount, m_emlCapabilities, m_linkIdInfo, m_mediumSyncDelayInfo, and m_mldCapabilities.

◆ GetSize()

uint8_t ns3::CommonInfoBasicMle::GetSize ( ) const

Get the size of the serialized Common Info field.

Returns
the size of the serialized Common Info field

Definition at line 46 of file multi-link-element.cc.

References m_bssParamsChangeCount, m_emlCapabilities, m_linkIdInfo, m_mediumSyncDelayInfo, and m_mldCapabilities.

Referenced by Serialize().

+ Here is the caller graph for this function:

◆ Serialize()

void ns3::CommonInfoBasicMle::Serialize ( Buffer::Iterator start) const

Serialize the Common Info field.

Parameters
startiterator pointing to where the Common Info field should be written to

Definition at line 58 of file multi-link-element.cc.

References GetSize(), m_bssParamsChangeCount, m_emlCapabilities, m_linkIdInfo, m_mediumSyncDelayInfo, m_mldCapabilities, m_mldMacAddress, and ns3::WriteTo().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_bssParamsChangeCount

std::optional<uint8_t> ns3::CommonInfoBasicMle::m_bssParamsChangeCount

◆ m_emlCapabilities

std::optional<EmlCapabilities> ns3::CommonInfoBasicMle::m_emlCapabilities

◆ m_linkIdInfo

std::optional<uint8_t> ns3::CommonInfoBasicMle::m_linkIdInfo

◆ m_mediumSyncDelayInfo

std::optional<MediumSyncDelayInfo> ns3::CommonInfoBasicMle::m_mediumSyncDelayInfo

◆ m_mldCapabilities

std::optional<MldCapabilities> ns3::CommonInfoBasicMle::m_mldCapabilities

MLD Capabilities.

Definition at line 92 of file multi-link-element.h.

Referenced by Deserialize(), GetPresenceBitmap(), GetSize(), and Serialize().

◆ m_mldMacAddress

Mac48Address ns3::CommonInfoBasicMle::m_mldMacAddress

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