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... | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. More... | |
virtual void | Print (std::ostream &os) const |
In addition, a subclass may optionally override the following... 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... | |
![]() | |
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 42 of file ht-capabilities.h.
ns3::HtCapabilities::HtCapabilities | ( | ) |
Definition at line 31 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 298 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 67 of file ht-capabilities.cc.
References IE_HT_CAPABILITIES.
uint8_t ns3::HtCapabilities::GetAmpduParameters | ( | void | ) | const |
Definition at line 213 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 137 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 174 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 148 of file ht-capabilities.cc.
References m_htSupported, and NS_ASSERT.
uint8_t ns3::HtCapabilities::GetLdpc | ( | void | ) | const |
Definition at line 125 of file ht-capabilities.cc.
References m_ldpc.
Referenced by ns3::operator<<().
uint8_t * ns3::HtCapabilities::GetRxMcsBitmask | ( | ) |
Definition at line 107 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 164 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 142 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 131 of file ht-capabilities.cc.
References m_supportedChannelWidth.
Referenced by ns3::operator<<().
uint64_t ns3::HtCapabilities::GetSupportedMcsSet1 | ( | void | ) | const |
Definition at line 254 of file ht-capabilities.cc.
References m_rxMcsBitmask.
Referenced by SerializeInformationField().
uint64_t ns3::HtCapabilities::GetSupportedMcsSet2 | ( | void | ) | const |
Definition at line 265 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 115 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 155 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 285 of file ht-capabilities.cc.
References GetAmpduParameters(), GetHtCapabilitiesInfo(), GetSupportedMcsSet1(), GetSupportedMcsSet2(), and m_htSupported.
void ns3::HtCapabilities::SetAmpduParameters | ( | uint8_t | ctrl | ) |
Definition at line 223 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 90 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 195 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 73 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 78 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 101 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 96 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 84 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 231 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 111 of file ht-capabilities.h.
Referenced by GetAmpduParameters(), and SetAmpduParameters().
|
private |
Definition at line 105 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 107 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 98 of file ht-capabilities.h.
Referenced by GetGreenfield(), GetHtCapabilitiesInfo(), SetGreenfield(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 103 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 122 of file ht-capabilities.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetHtSupported().
|
private |
Definition at line 95 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), GetLdpc(), SetHtCapabilitiesInfo(), and SetLdpc().
|
private |
Definition at line 108 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 109 of file ht-capabilities.h.
Referenced by GetAmpduParameters(), and SetAmpduParameters().
|
private |
Definition at line 104 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 110 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 GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 114 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 119 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 113 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 120 of file ht-capabilities.h.
Referenced by GetRxMcsBitmask(), GetSupportedMcsSet1(), GetSupportedMcsSet2(), HtCapabilities(), IsSupportedMcs(), SetRxMcsBitmask(), and SetSupportedMcsSet().
|
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(), GetShortGuardInterval20(), SetHtCapabilitiesInfo(), and SetShortGuardInterval20().
|
private |
Definition at line 100 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 97 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 96 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), GetSupportedChannelWidth(), SetHtCapabilitiesInfo(), and SetSupportedChannelWidth().
|
private |
Definition at line 117 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 116 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().
|
private |
Definition at line 101 of file ht-capabilities.h.
Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().
|
private |
Definition at line 118 of file ht-capabilities.h.
Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().