The HT Capabilities Information ElementThis class knows how to serialise and deserialise the HT Capabilities Information Element. More...
#include <ht-capabilities.h>
Public Member Functions | |
HtCapabilities () | |
uint8_t | DeserializeInformationField (Buffer::Iterator start, uint8_t length) |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
WifiInformationElementId | ElementId () const |
Own unique Element ID. More... | |
uint8_t | GetAmpduParameters (void) const |
uint8_t | GetGreenfield (void) const |
uint16_t | GetHtCapabilitiesInfo (void) const |
uint8_t | GetInformationFieldSize () const |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More... | |
uint8_t | GetLdpc (void) const |
uint8_t * | GetRxMcsBitmask () |
uint16_t | GetSerializedSize () const |
Return the serialized size of this HT capability information element. More... | |
uint8_t | GetShortGuardInterval20 (void) const |
uint8_t | GetSupportedChannelWidth (void) const |
uint64_t | GetSupportedMcsSet1 (void) const |
uint64_t | GetSupportedMcsSet2 (void) const |
bool | IsSupportedMcs (uint8_t mcs) |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
This information element is a bit special in that it is only included if the STA is an HT STA. More... | |
void | SerializeInformationField (Buffer::Iterator start) const |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
void | SetAmpduParameters (uint8_t ctrl) |
void | SetGreenfield (uint8_t greenfield) |
void | SetHtCapabilitiesInfo (uint16_t ctrl) |
void | SetHtSupported (uint8_t htsupported) |
void | SetLdpc (uint8_t ldpc) |
void | SetRxMcsBitmask (uint8_t index) |
void | SetShortGuardInterval20 (uint8_t shortguardinterval) |
void | SetSupportedChannelWidth (uint8_t supportedchannelwidth) |
void | SetSupportedMcsSet (uint64_t ctrl1, uint64_t ctrl2) |
![]() | |
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 information elements using Element ID. 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... | |
![]() | |
SimpleRefCount () | |
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. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
uint8_t | m_ampduReserved |
uint8_t | m_dssMode40 |
uint8_t | m_fortyMhzIntolerant |
uint8_t | m_greenField |
uint8_t | m_htDelayedBlockAck |
uint8_t | m_htSupported |
uint8_t | m_ldpc |
uint8_t | m_lsigProtectionSupport |
uint8_t | m_maxAmpduLength |
uint8_t | m_maxAmsduLength |
uint8_t | m_minMpduStartSpace |
uint8_t | m_reserved |
uint8_t | m_reservedMcsSet1 |
uint8_t | m_reservedMcsSet2 |
uint32_t | m_reservedMcsSet3 |
uint16_t | m_rxHighestSupportedDataRate |
uint8_t | m_rxMcsBitmask [MAX_SUPPORTED_MCS] |
uint8_t | m_rxStbc |
uint8_t | m_shortGuardInterval20 |
uint8_t | m_shortGuardInterval40 |
uint8_t | m_smPowerSave |
uint8_t | m_supportedChannelWidth |
uint8_t | m_txMaxNSpatialStreams |
uint8_t | m_txMcsSetDefined |
uint8_t | m_txRxMcsSetUnequal |
uint8_t | m_txStbc |
uint8_t | m_txUnequalModulation |
Additional Inherited Members | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
The HT Capabilities Information Element
This class knows how to serialise and deserialise the HT Capabilities Information Element.
Definition at line 44 of file ht-capabilities.h.
ns3::HtCapabilities::HtCapabilities | ( | ) |
Definition at line 30 of file ht-capabilities.cc.
References m_rxMcsBitmask, and MAX_SUPPORTED_MCS.
|
virtual |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
length |
Implements ns3::WifiInformationElement.
Definition at line 297 of file ht-capabilities.cc.
References ns3::Buffer::Iterator::ReadLsbtohU16(), ns3::Buffer::Iterator::ReadLsbtohU64(), ns3::Buffer::Iterator::ReadU8(), SetAmpduParameters(), SetHtCapabilitiesInfo(), SetSupportedMcsSet(), and visualizer.core::start().
|
virtual |
Own unique Element ID.
Implements ns3::WifiInformationElement.
Definition at line 66 of file ht-capabilities.cc.
References IE_HT_CAPABILITIES.
uint8_t ns3::HtCapabilities::GetAmpduParameters | ( | void | ) | const |
Definition at line 212 of file ht-capabilities.cc.
References m_ampduReserved, m_maxAmpduLength, and m_minMpduStartSpace.
Referenced by SerializeInformationField().
uint8_t ns3::HtCapabilities::GetGreenfield | ( | void | ) | const |
Definition at line 136 of file ht-capabilities.cc.
References m_greenField.
Referenced by ns3::WifiRemoteStationManager::AddStationHtCapabilities(), and ns3::operator<<().
uint16_t ns3::HtCapabilities::GetHtCapabilitiesInfo | ( | void | ) | const |
Definition at line 173 of file ht-capabilities.cc.
References m_dssMode40, m_fortyMhzIntolerant, m_greenField, m_htDelayedBlockAck, m_ldpc, m_lsigProtectionSupport, m_maxAmsduLength, m_reserved, m_rxStbc, m_shortGuardInterval20, m_shortGuardInterval40, m_smPowerSave, m_supportedChannelWidth, and m_txStbc.
Referenced by SerializeInformationField().
|
virtual |
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)
Implements ns3::WifiInformationElement.
Definition at line 147 of file ht-capabilities.cc.
References m_htSupported, and NS_ASSERT.
uint8_t ns3::HtCapabilities::GetLdpc | ( | void | ) | const |
Definition at line 124 of file ht-capabilities.cc.
References m_ldpc.
Referenced by ns3::operator<<().
uint8_t * ns3::HtCapabilities::GetRxMcsBitmask | ( | ) |
Definition at line 106 of file ht-capabilities.cc.
References m_rxMcsBitmask.
uint16_t ns3::HtCapabilities::GetSerializedSize | ( | void | ) | const |
Return the serialized size of this HT capability information element.
Definition at line 163 of file ht-capabilities.cc.
References ns3::WifiInformationElement::GetSerializedSize(), and m_htSupported.
Referenced by ns3::MgtAssocRequestHeader::GetSerializedSize(), ns3::MgtAssocResponseHeader::GetSerializedSize(), ns3::MgtProbeRequestHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().
uint8_t ns3::HtCapabilities::GetShortGuardInterval20 | ( | void | ) | const |
Definition at line 141 of file ht-capabilities.cc.
References m_shortGuardInterval20.
Referenced by ns3::WifiRemoteStationManager::AddStationHtCapabilities(), and ns3::operator<<().
uint8_t ns3::HtCapabilities::GetSupportedChannelWidth | ( | void | ) | const |
Definition at line 130 of file ht-capabilities.cc.
References m_supportedChannelWidth.
Referenced by ns3::operator<<().
uint64_t ns3::HtCapabilities::GetSupportedMcsSet1 | ( | void | ) | const |
Definition at line 253 of file ht-capabilities.cc.
References m_rxMcsBitmask.
Referenced by SerializeInformationField().
uint64_t ns3::HtCapabilities::GetSupportedMcsSet2 | ( | void | ) | const |
Definition at line 264 of file ht-capabilities.cc.
References m_reservedMcsSet1, m_reservedMcsSet2, m_reservedMcsSet3, m_rxHighestSupportedDataRate, m_rxMcsBitmask, m_txMaxNSpatialStreams, m_txMcsSetDefined, m_txRxMcsSetUnequal, and m_txUnequalModulation.
Referenced by SerializeInformationField().
bool ns3::HtCapabilities::IsSupportedMcs | ( | uint8_t | mcs | ) |
Definition at line 114 of file ht-capabilities.cc.
References m_rxMcsBitmask.
Referenced by ns3::ApWifiMac::Receive(), and ns3::StaWifiMac::Receive().
Buffer::Iterator ns3::HtCapabilities::Serialize | ( | Buffer::Iterator | start | ) | const |
This information element is a bit special in that it is only included if the STA is an HT STA.
To support this we override the Serialize and GetSerializedSize methods of WifiInformationElement.
start |
Definition at line 154 of file ht-capabilities.cc.
References m_htSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocRequestHeader::Serialize(), ns3::MgtAssocResponseHeader::Serialize(), ns3::MgtProbeRequestHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
|
virtual |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
Implements ns3::WifiInformationElement.
Definition at line 284 of file ht-capabilities.cc.
References GetAmpduParameters(), GetHtCapabilitiesInfo(), GetSupportedMcsSet1(), GetSupportedMcsSet2(), and m_htSupported.
void ns3::HtCapabilities::SetAmpduParameters | ( | uint8_t | ctrl | ) |
Definition at line 222 of file ht-capabilities.cc.
References m_ampduReserved, m_maxAmpduLength, and m_minMpduStartSpace.
Referenced by DeserializeInformationField().
void ns3::HtCapabilities::SetGreenfield | ( | uint8_t | greenfield | ) |
Definition at line 89 of file ht-capabilities.cc.
References m_greenField.
Referenced by ns3::StaWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtCapabilities(), and ns3::operator>>().
void ns3::HtCapabilities::SetHtCapabilitiesInfo | ( | uint16_t | ctrl | ) |
Definition at line 194 of file ht-capabilities.cc.
References m_dssMode40, m_fortyMhzIntolerant, m_greenField, m_htDelayedBlockAck, m_ldpc, m_lsigProtectionSupport, m_maxAmsduLength, m_reserved, m_rxStbc, m_shortGuardInterval20, m_shortGuardInterval40, m_smPowerSave, m_supportedChannelWidth, and m_txStbc.
Referenced by DeserializeInformationField().
void ns3::HtCapabilities::SetHtSupported | ( | uint8_t | htsupported | ) |
Definition at line 72 of file ht-capabilities.cc.
References m_htSupported.
Referenced by ns3::StaWifiMac::GetHtCapabilities(), and ns3::ApWifiMac::GetHtCapabilities().
void ns3::HtCapabilities::SetLdpc | ( | uint8_t | ldpc | ) |
Definition at line 77 of file ht-capabilities.cc.
References m_ldpc.
Referenced by ns3::StaWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtCapabilities(), and ns3::operator>>().
void ns3::HtCapabilities::SetRxMcsBitmask | ( | uint8_t | index | ) |
Definition at line 100 of file ht-capabilities.cc.
References m_rxMcsBitmask.
Referenced by ns3::StaWifiMac::GetHtCapabilities(), and ns3::ApWifiMac::GetHtCapabilities().
void ns3::HtCapabilities::SetShortGuardInterval20 | ( | uint8_t | shortguardinterval | ) |
Definition at line 95 of file ht-capabilities.cc.
References m_shortGuardInterval20.
Referenced by ns3::StaWifiMac::GetHtCapabilities(), ns3::ApWifiMac::GetHtCapabilities(), and ns3::operator>>().
void ns3::HtCapabilities::SetSupportedChannelWidth | ( | uint8_t | supportedchannelwidth | ) |
Definition at line 83 of file ht-capabilities.cc.
References m_supportedChannelWidth.
Referenced by ns3::operator>>().
void ns3::HtCapabilities::SetSupportedMcsSet | ( | uint64_t | ctrl1, |
uint64_t | ctrl2 | ||
) |
Definition at line 230 of file ht-capabilities.cc.
References m_reservedMcsSet1, m_reservedMcsSet2, m_reservedMcsSet3, m_rxHighestSupportedDataRate, m_rxMcsBitmask, m_txMaxNSpatialStreams, m_txMcsSetDefined, m_txRxMcsSetUnequal, and m_txUnequalModulation.
Referenced by DeserializeInformationField().
|
private |
Definition at line 113 of file ht-capabilities.h.
Referenced by GetAmpduParameters(), and SetAmpduParameters().
|
private |
Definition at line 107 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 109 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 100 of file ht-capabilities.h.
Referenced by GetGreenfield(), GetHtCapabilitiesInfo(), SetGreenfield(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 105 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 124 of file ht-capabilities.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetHtSupported().
|
private |
Definition at line 97 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), GetLdpc(), SetHtCapabilitiesInfo(), and SetLdpc().
|
private |
Definition at line 110 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 111 of file ht-capabilities.h.
Referenced by GetAmpduParameters(), and SetAmpduParameters().
|
private |
Definition at line 106 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 112 of file ht-capabilities.h.
Referenced by GetAmpduParameters(), and SetAmpduParameters().
|
private |
Definition at line 108 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 114 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 116 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 121 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 115 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 122 of file ht-capabilities.h.
Referenced by GetRxMcsBitmask(), GetSupportedMcsSet1(), GetSupportedMcsSet2(), HtCapabilities(), IsSupportedMcs(), SetRxMcsBitmask(), and SetSupportedMcsSet().
|
private |
Definition at line 104 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 101 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), GetShortGuardInterval20(), SetHtCapabilitiesInfo(), and SetShortGuardInterval20().
|
private |
Definition at line 102 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 99 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 98 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), GetSupportedChannelWidth(), SetHtCapabilitiesInfo(), and SetSupportedChannelWidth().
|
private |
Definition at line 119 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 117 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 118 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 103 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 120 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().