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 ()
 
uint8_t DeserializeInformationField (Buffer::Iterator start, uint8_t length) override
 Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
WifiInformationElementId ElementId () const override
 
WifiInformationElementId ElementIdExt () const override
 
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...
 
uint8_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...
 
uint16_t GetSerializedSize () const override
 Get the size of the serialized IE including Element ID and length fields. More...
 
Buffer::Iterator Serialize (Buffer::Iterator start) const override
 Serialize entire IE including Element ID and length fields. 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...
 
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 SetHeSupported (uint8_t heSupported)
 Set the HE supported 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 must be present. More...
 
Buffer::Iterator DeserializeIfPresent (Buffer::Iterator i)
 Deserialize entire IE if it is present. 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...
 
- Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
 SimpleRefCount ()
 Default constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o[[maybe_unused]])
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= ([[maybe_unused]] 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 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_heSupported
 This is used to decide whether this element should be added to the frame or not. 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...
 

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()

uint8_t ns3::HeOperation::DeserializeInformationField ( Buffer::Iterator  start,
uint8_t  length 
)
overridevirtual

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.
length
Returns
the number of bytes read

Implements ns3::WifiInformationElement.

Definition at line 169 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
Returns
Own unique Element ID

Implements ns3::WifiInformationElement.

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

References IE_EXTENSION.

◆ ElementIdExt()

WifiInformationElementId ns3::HeOperation::ElementIdExt ( ) const
overridevirtual
Returns
Own unique Element ID Extension

Reimplemented from ns3::WifiInformationElement.

Definition at line 47 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 117 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 131 of file he-operation.cc.

References m_bssColor.

Referenced by ns3::StaWifiMac::UpdateApInfoFromAssocResp().

+ Here is the caller graph for this function:

◆ 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 81 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()

uint8_t ns3::HeOperation::GetInformationFieldSize ( ) const
overridevirtual

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)

Returns
the length of serialized information

Implements ns3::WifiInformationElement.

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

References m_heSupported, and NS_ASSERT.

◆ GetSerializedSize()

uint16_t ns3::HeOperation::GetSerializedSize ( void  ) const
overridevirtual

Get the size of the serialized IE including Element ID and length fields.

Returns
the size of the serialized IE in bytes

Reimplemented from ns3::WifiInformationElement.

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

References ns3::WifiInformationElement::GetSerializedSize(), and m_heSupported.

Referenced by ns3::MgtAssocResponseHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().

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

◆ Serialize()

Buffer::Iterator ns3::HeOperation::Serialize ( Buffer::Iterator  i) const
overridevirtual

Serialize entire IE including Element ID and length fields.

Parameters
ian iterator which points to where the IE should be written.
Returns
an iterator

Reimplemented from ns3::WifiInformationElement.

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

References m_heSupported, and ns3::WifiInformationElement::Serialize().

Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().

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

◆ SerializeInformationField()

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

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 157 of file he-operation.cc.

References GetBasicHeMcsAndNssSet(), GetHeOperationParameters(), m_heSupported, 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 123 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 67 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:

◆ SetHeSupported()

void ns3::HeOperation::SetHeSupported ( uint8_t  heSupported)

Set the HE supported information element.

Parameters
heSupportedthe HE supported information element

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

References m_heSupported.

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

+ 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 97 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 112 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 101 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 108 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 102 of file he-operation.h.

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_dualBeacon

uint8_t ns3::HeOperation::m_dualBeacon
private

Dual Beacon.

Definition at line 109 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 104 of file he-operation.h.

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_heSupported

uint8_t ns3::HeOperation::m_heSupported
private

This is used to decide whether this element should be added to the frame or not.

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

Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetHeSupported().

◆ m_maxBssidIndicator

uint8_t ns3::HeOperation::m_maxBssidIndicator
private

max BSSID indicator

Definition at line 106 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 105 of file he-operation.h.

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().

◆ m_twtRequired

uint8_t ns3::HeOperation::m_twtRequired
private

TWT required.

Definition at line 103 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 107 of file he-operation.h.

Referenced by GetHeOperationParameters(), and SetHeOperationParameters().


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