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

The HE Operation Information Element. More...

#include "he-operation.h"

+ Inheritance diagram for ns3::HeOperation:
+ Collaboration diagram for ns3::HeOperation:

Public Member Functions

 HeOperation ()
 
WifiInformationElementId ElementId () const override
 Get the wifi information element ID. More...
 
WifiInformationElementId ElementIdExt () const override
 Get the wifi information element ID extension. More...
 
uint16_t GetBasicHeMcsAndNssSet (void) const
 Return the Basic HE-MCS And Nss field in the HE Operation information element. More...
 
uint8_t GetBssColor (void) const
 Get the BSS color. More...
 
uint32_t GetHeOperationParameters (void) const
 Return the HE Operation Parameters field in the HE Operation information element. More...
 
void SetBssColor (uint8_t bssColor)
 Set the BSS color. More...
 
void SetHeOperationParameters (uint32_t ctrl)
 Set the HE Operation Parameters field in the HE Operation information element. More...
 
void SetMaxHeMcsPerNss (uint8_t nss, uint8_t maxHeMcs)
 Set the Basic HE-MCS and NSS field in the HE Operation information element by specifying the tuple (nss, maxMcs). More...
 
- Public Member Functions inherited from ns3::WifiInformationElement
virtual ~WifiInformationElement ()
 
Buffer::Iterator Deserialize (Buffer::Iterator i)
 Deserialize entire IE (which may possibly be fragmented into multiple elements), which must be present. More...
 
virtual WifiInformationElementId ElementId () const =0
 Get the wifi information element ID. More...
 
virtual WifiInformationElementId ElementIdExt () const
 Get the wifi information element ID extension. More...
 
uint16_t GetSerializedSize () const
 Get the size of the serialized IE including Element ID and length fields (for every element this IE is possibly fragmented into). More...
 
virtual bool operator== (WifiInformationElement const &a) const
 Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. More...
 
virtual void Print (std::ostream &os) const
 Generate human-readable form of IE. More...
 
Buffer::Iterator Serialize (Buffer::Iterator i) const
 Serialize entire IE including Element ID and length fields. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
 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...
 

Private Member Functions

uint16_t DeserializeInformationField (Buffer::Iterator start, uint16_t length) override
 Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
uint16_t GetInformationFieldSize () const override
 Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More...
 
void SerializeInformationField (Buffer::Iterator start) const override
 Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 

Private Attributes

uint16_t m_basicHeMcsAndNssSet
 basic HE MCS NSS set More...
 
uint8_t m_bssColor
 BSS color. More...
 
uint8_t m_bssColorDisabled
 BSS color disabled. More...
 
uint8_t m_defaultPEDuration
 default PE duration More...
 
uint8_t m_dualBeacon
 Dual Beacon. More...
 
uint16_t m_heDurationBasedRtsThreshold
 HE duration based RTS threshold. More...
 
uint8_t m_maxBssidIndicator
 max BSSID indicator More...
 
uint8_t m_partialBssColor
 partial BSS color More...
 
uint8_t m_twtRequired
 TWT required. More...
 
uint8_t m_txBssidIndicator
 TX BSSID indicator. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::WifiInformationElement
template<typename IE , typename... Args>
static Buffer::Iterator DeserializeIfPresent (std::optional< IE > &optElem, Buffer::Iterator i, Args &&... args)
 Deserialize an entire IE (which may possibly be fragmented into multiple elements) that is optionally present. More...
 

Detailed Description

The HE Operation Information Element.

This class knows how to serialise and deserialise the HE Operation Information Element

Definition at line 35 of file he-operation.h.

Constructor & Destructor Documentation

◆ HeOperation()

ns3::HeOperation::HeOperation ( )

Definition at line 25 of file he-operation.cc.

Member Function Documentation

◆ DeserializeInformationField()

uint16_t ns3::HeOperation::DeserializeInformationField ( Buffer::Iterator  start,
uint16_t  length 
)
overrideprivatevirtual

Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)

Parameters
startan iterator which points to where the information should be written.
lengththe expected number of bytes to read
Returns
the number of bytes read

Implements ns3::WifiInformationElement.

Definition at line 137 of file he-operation.cc.

References m_basicHeMcsAndNssSet, ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU16(), SetHeOperationParameters(), and visualizer.core::start().

+ Here is the call graph for this function:

◆ ElementId()

WifiInformationElementId ns3::HeOperation::ElementId ( ) const
overridevirtual

Get the wifi information element ID.

Returns
the wifi information element ID

Implements ns3::WifiInformationElement.

Definition at line 40 of file he-operation.cc.

References IE_EXTENSION.

◆ ElementIdExt()

WifiInformationElementId ns3::HeOperation::ElementIdExt ( ) const
overridevirtual

Get the wifi information element ID extension.

Returns
the wifi information element ID extension

Reimplemented from ns3::WifiInformationElement.

Definition at line 46 of file he-operation.cc.

References IE_EXT_HE_OPERATION.

◆ GetBasicHeMcsAndNssSet()

uint16_t ns3::HeOperation::GetBasicHeMcsAndNssSet ( void  ) const

Return the Basic HE-MCS And Nss field in the HE Operation information element.

Returns
the Basic HE-MCS And Nss field in the HE Operation information element

Definition at line 108 of file he-operation.cc.

References m_basicHeMcsAndNssSet.

Referenced by ns3::operator<<(), and SerializeInformationField().

+ Here is the caller graph for this function:

◆ GetBssColor()

uint8_t ns3::HeOperation::GetBssColor ( void  ) const

Get the BSS color.

Returns
the BSS color value

Definition at line 122 of file he-operation.cc.

References m_bssColor.

◆ GetHeOperationParameters()

uint32_t ns3::HeOperation::GetHeOperationParameters ( void  ) const

Return the HE Operation Parameters field in the HE Operation information element.

Returns
the HE Operation Parameters field in the HE Operation information element

Definition at line 72 of file he-operation.cc.

References m_bssColor, m_bssColorDisabled, m_defaultPEDuration, m_dualBeacon, m_heDurationBasedRtsThreshold, m_maxBssidIndicator, m_partialBssColor, m_twtRequired, and m_txBssidIndicator.

Referenced by ns3::operator<<(), and SerializeInformationField().

+ Here is the caller graph for this function:

◆ GetInformationFieldSize()

uint16_t ns3::HeOperation::GetInformationFieldSize ( ) const
overrideprivatevirtual

Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets.

This is the value that will appear in the second octet of the entire IE - the length field - if the IE is not fragmented)

Returns
the length of serialized information

Implements ns3::WifiInformationElement.

Definition at line 52 of file he-operation.cc.

◆ SerializeInformationField()

void ns3::HeOperation::SerializeInformationField ( Buffer::Iterator  start) const
overrideprivatevirtual

Serialize information (i.e., the body of the IE, not including the Element ID and length octets)

Parameters
startan iterator which points to where the information should be written.

Implements ns3::WifiInformationElement.

Definition at line 128 of file he-operation.cc.

References GetBasicHeMcsAndNssSet(), GetHeOperationParameters(), and visualizer.core::start().

+ Here is the call graph for this function:

◆ SetBssColor()

void ns3::HeOperation::SetBssColor ( uint8_t  bssColor)

Set the BSS color.

Parameters
bssColorthe BSS color value

Definition at line 114 of file he-operation.cc.

References m_bssColor, m_bssColorDisabled, and NS_ABORT_UNLESS.

Referenced by ns3::ApWifiMac::GetHeOperation().

+ Here is the caller graph for this function:

◆ SetHeOperationParameters()

void ns3::HeOperation::SetHeOperationParameters ( uint32_t  ctrl)

Set the HE Operation Parameters field in the HE Operation information element.

Parameters
ctrlthe HE Operation Parameters field in the HE Operation information element

Definition at line 58 of file he-operation.cc.

References m_bssColor, m_bssColorDisabled, m_defaultPEDuration, m_dualBeacon, m_heDurationBasedRtsThreshold, m_maxBssidIndicator, m_partialBssColor, m_twtRequired, and m_txBssidIndicator.

Referenced by DeserializeInformationField().

+ Here is the caller graph for this function:

◆ SetMaxHeMcsPerNss()

void ns3::HeOperation::SetMaxHeMcsPerNss ( uint8_t  nss,
uint8_t  maxHeMcs 
)

Set the Basic HE-MCS and NSS field in the HE Operation information element by specifying the tuple (nss, maxMcs).

Parameters
nssthe NSS
maxHeMcsthe maximum supported HE-MCS value corresponding to that NSS

Definition at line 88 of file he-operation.cc.

References m_basicHeMcsAndNssSet, and NS_ASSERT.

Referenced by ns3::ApWifiMac::GetHeOperation().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_basicHeMcsAndNssSet

uint16_t ns3::HeOperation::m_basicHeMcsAndNssSet
private

basic HE MCS NSS set

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

Referenced by DeserializeInformationField(), GetBasicHeMcsAndNssSet(), and SetMaxHeMcsPerNss().

◆ m_bssColor

uint8_t ns3::HeOperation::m_bssColor
private

BSS color.

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

Referenced by GetBssColor(), GetHeOperationParameters(), SetBssColor(), and SetHeOperationParameters().

◆ m_bssColorDisabled

uint8_t ns3::HeOperation::m_bssColorDisabled
private

BSS color disabled.

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

Referenced by GetHeOperationParameters(), SetBssColor(), and SetHeOperationParameters().

◆ m_defaultPEDuration

uint8_t ns3::HeOperation::m_defaultPEDuration
private

default PE duration

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_dualBeacon

uint8_t ns3::HeOperation::m_dualBeacon
private

Dual Beacon.

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_heDurationBasedRtsThreshold

uint16_t ns3::HeOperation::m_heDurationBasedRtsThreshold
private

HE duration based RTS threshold.

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_maxBssidIndicator

uint8_t ns3::HeOperation::m_maxBssidIndicator
private

max BSSID indicator

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_partialBssColor

uint8_t ns3::HeOperation::m_partialBssColor
private

partial BSS color

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_twtRequired

uint8_t ns3::HeOperation::m_twtRequired
private

TWT required.

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_txBssidIndicator

uint8_t ns3::HeOperation::m_txBssidIndicator
private

TX BSSID indicator.

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

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().


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