The HE Operation Information ElementThis class knows how to serialise and deserialise the HE Operation Information Element. More...
#include "he-operation.h"
Public Member Functions | |
HeOperation () | |
uint8_t | DeserializeInformationField (Buffer::Iterator start, uint8_t length) |
Deserialize the information field. More... | |
WifiInformationElementId | ElementId () const |
Return the element ID. More... | |
uint32_t | GetBasicHeMcsAndNssSet (void) const |
Return the Basic HE-MCS And Nss field in the HE Operation information element. More... | |
uint32_t | GetHeOperationParameters (void) const |
Return the HE Operation Parameters field in the HE Operation information element. More... | |
uint8_t | GetInformationFieldSize () const |
Return the information field size. More... | |
uint16_t | GetSerializedSize () const |
Return the serialized size of this HE Operations IE. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
This information element is a bit special in that it is only included if the STA is a HE STA. More... | |
void | SerializeInformationField (Buffer::Iterator start) const |
Serialize the information field. 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... | |
uint16_t | GetSerializedSize () const |
Get the size of the serialized IE including Element ID and length fields. 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... | |
SimpleRefCount & | operator= (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 | |
uint32_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... | |
The HE Operation Information Element
This class knows how to serialise and deserialise the HE Operation Information Element.
Definition at line 37 of file he-operation.h.
ns3::HeOperation::HeOperation | ( | ) |
Definition at line 25 of file he-operation.cc.
|
virtual |
Deserialize the information field.
start | the iterator |
length | the length |
Implements ns3::WifiInformationElement.
Definition at line 139 of file he-operation.cc.
References m_basicHeMcsAndNssSet, ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU16(), ns3::Buffer::Iterator::ReadU8(), SetHeOperationParameters(), and visualizer.core::start().
|
virtual |
Return the element ID.
Implements ns3::WifiInformationElement.
Definition at line 41 of file he-operation.cc.
References IE_HE_OPERATION.
uint32_t ns3::HeOperation::GetBasicHeMcsAndNssSet | ( | void | ) | const |
Return the Basic HE-MCS And Nss field in the HE Operation information element.
Definition at line 98 of file he-operation.cc.
References m_basicHeMcsAndNssSet.
Referenced by ns3::operator<<(), and SerializeInformationField().
uint32_t ns3::HeOperation::GetHeOperationParameters | ( | void | ) | const |
Return the HE Operation Parameters field in the HE Operation information element.
Definition at line 75 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().
|
virtual |
Return the information field size.
Implements ns3::WifiInformationElement.
Definition at line 53 of file he-operation.cc.
References m_heSupported, and NS_ASSERT.
uint16_t ns3::HeOperation::GetSerializedSize | ( | void | ) | const |
Return the serialized size of this HE Operations IE.
Definition at line 114 of file he-operation.cc.
References ns3::WifiInformationElement::GetSerializedSize(), and m_heSupported.
Referenced by ns3::MgtAssocResponseHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().
Buffer::Iterator ns3::HeOperation::Serialize | ( | Buffer::Iterator | start | ) | const |
This information element is a bit special in that it is only included if the STA is a HE STA.
To support this we override the Serialize and GetSerializedSize methods of WifiInformationElement.
start |
Definition at line 104 of file he-operation.cc.
References m_heSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
|
virtual |
Serialize the information field.
start | the information field iterator |
Implements ns3::WifiInformationElement.
Definition at line 124 of file he-operation.cc.
References GetBasicHeMcsAndNssSet(), GetHeOperationParameters(), m_heSupported, and visualizer.core::start().
void ns3::HeOperation::SetHeOperationParameters | ( | uint32_t | ctrl | ) |
Set the HE Operation Parameters field in the HE Operation information element.
ctrl | the HE Operation Parameters field in the HE Operation information element |
Definition at line 61 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().
void ns3::HeOperation::SetHeSupported | ( | uint8_t | hesupported | ) |
Set the HE supported information element.
hesupported | the HE supported information element |
Definition at line 47 of file he-operation.cc.
References m_heSupported.
Referenced by ns3::ApWifiMac::GetHeOperation().
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).
nss | the NSS |
maxHeMcs | the maximum supported HE-MCS value corresponding to that NSS |
Definition at line 91 of file he-operation.cc.
References m_basicHeMcsAndNssSet, and NS_ASSERT.
Referenced by ns3::ApWifiMac::GetHeOperation().
|
private |
basic HE MCS NSS set
Definition at line 134 of file he-operation.h.
Referenced by DeserializeInformationField(), GetBasicHeMcsAndNssSet(), and SetMaxHeMcsPerNss().
|
private |
BSS color.
Definition at line 123 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
BSS color disabled.
Definition at line 130 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
default PE duration
Definition at line 124 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
Dual Beacon.
Definition at line 131 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
HE duration based RTS threshold.
Definition at line 126 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
This is used to decide whether this element should be added to the frame or not.
Definition at line 139 of file he-operation.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetHeSupported().
|
private |
max BSSID indicator
Definition at line 128 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
partial BSS color
Definition at line 127 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
TWT required.
Definition at line 125 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().
|
private |
TX BSSID indicator.
Definition at line 129 of file he-operation.h.
Referenced by GetHeOperationParameters(), and SetHeOperationParameters().