The IEEE 802.11ac VHT Capabilities. More...
#include "vht-capabilities.h"
Public Member Functions | |
VhtCapabilities () | |
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 | 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 | GetMaxAmpduLengthExponent () const |
uint8_t | GetMaxMpduLength () const |
uint16_t | GetRxHighestSupportedLgiDataRate () const |
uint8_t | GetRxLdpc () const |
uint16_t | GetRxMcsMap () const |
uint8_t | GetRxStbc () const |
uint16_t | GetSerializedSize () const |
uint8_t | GetShortGuardIntervalFor160Mhz () const |
uint8_t | GetShortGuardIntervalFor80Mhz () const |
uint8_t | GetSupportedChannelWidthSet () const |
uint64_t | GetSupportedMcsAndNssSet () const |
uint16_t | GetTxHighestSupportedLgiDataRate () const |
uint16_t | GetTxMcsMap () const |
uint8_t | GetTxStbc () const |
uint32_t | GetVhtCapabilitiesInfo () const |
bool | IsSupportedMcs (uint8_t mcs, uint8_t Nss) const |
bool | IsSupportedRxMcs (uint8_t mcs) const |
bool | IsSupportedTxMcs (uint8_t mcs) const |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
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 | SetMaxAmpduLengthExponent (uint8_t exponent) |
void | SetMaxMpduLength (uint8_t length) |
void | SetRxHighestSupportedLgiDataRate (uint16_t supporteddatarate) |
void | SetRxLdpc (uint8_t rxldpc) |
void | SetRxMcsMap (uint16_t map) |
void | SetRxMcsMap (uint8_t mcs, uint8_t nss) |
void | SetRxStbc (uint8_t rxstbc) |
void | SetShortGuardIntervalFor160Mhz (uint8_t shortguardinterval) |
void | SetShortGuardIntervalFor80Mhz (uint8_t shortguardinterval) |
void | SetSupportedChannelWidthSet (uint8_t channelwidthset) |
void | SetSupportedMcsAndNssSet (uint64_t ctrl) |
Set the MCS and NSS field in the VHT Capabilities information element. More... | |
void | SetTxHighestSupportedLgiDataRate (uint16_t supporteddatarate) |
void | SetTxMcsMap (uint16_t map) |
void | SetTxMcsMap (uint8_t mcs, uint8_t nss) |
void | SetTxStbc (uint8_t txstbc) |
void | SetVhtCapabilitiesInfo (uint32_t ctrl) |
Set the VHT Capabilties Info field in the VHT Capabilities information element. More... | |
void | SetVhtSupported (uint8_t vhtsupported) |
![]() | |
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_beamformeeStsCapable |
uint8_t | m_htcVhtCapable |
uint8_t | m_maxAmpduLengthExponent |
uint16_t | m_maxMpduLength |
uint8_t | m_muBeamformeeCapable |
uint8_t | m_muBeamformerCapable |
uint8_t | m_numberOfSoundingDimensions |
uint8_t | m_rxAntennaPatternConsistency |
uint16_t | m_rxHighestSupportedLongGuardIntervalDataRate |
uint8_t | m_rxLdpc |
std::vector< uint8_t > | m_rxMcsMap |
uint8_t | m_rxStbc |
uint8_t | m_shortGuardIntervalFor160Mhz |
uint8_t | m_shortGuardIntervalFor80Mhz |
uint8_t | m_suBeamformeeCapable |
uint8_t | m_suBeamformerCapable |
uint16_t | m_supportedChannelWidthSet |
uint8_t | m_txAntennaPatternConsistency |
uint16_t | m_txHighestSupportedLongGuardIntervalDataRate |
std::vector< uint8_t > | m_txMcsMap |
uint8_t | m_txStbc |
uint8_t | m_vhtLinkAdaptationCapable |
uint8_t | m_vhtSupported |
uint8_t | m_vhtTxopPs |
Additional Inherited Members | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
The IEEE 802.11ac VHT Capabilities.
Definition at line 37 of file vht-capabilities.h.
ns3::VhtCapabilities::VhtCapabilities | ( | ) |
Definition at line 30 of file vht-capabilities.cc.
References m_rxMcsMap, and m_txMcsMap.
|
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 110 of file vht-capabilities.cc.
References ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadLsbtohU64(), SetSupportedMcsAndNssSet(), SetVhtCapabilitiesInfo(), and visualizer.core::start().
|
virtual |
Own unique Element ID.
Implements ns3::WifiInformationElement.
Definition at line 59 of file vht-capabilities.cc.
References IE_VHT_CAPABILITIES.
|
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 71 of file vht-capabilities.cc.
References m_vhtSupported, and NS_ASSERT.
uint8_t ns3::VhtCapabilities::GetMaxAmpduLengthExponent | ( | ) | const |
Definition at line 390 of file vht-capabilities.cc.
References m_maxAmpduLengthExponent.
uint8_t ns3::VhtCapabilities::GetMaxMpduLength | ( | ) | const |
Definition at line 348 of file vht-capabilities.cc.
References m_maxMpduLength.
uint16_t ns3::VhtCapabilities::GetRxHighestSupportedLgiDataRate | ( | ) | const |
Definition at line 441 of file vht-capabilities.cc.
References m_rxHighestSupportedLongGuardIntervalDataRate.
uint8_t ns3::VhtCapabilities::GetRxLdpc | ( | ) | const |
Definition at line 360 of file vht-capabilities.cc.
References m_rxLdpc.
uint16_t ns3::VhtCapabilities::GetRxMcsMap | ( | ) | const |
Definition at line 415 of file vht-capabilities.cc.
References m_rxMcsMap.
uint8_t ns3::VhtCapabilities::GetRxStbc | ( | ) | const |
Definition at line 378 of file vht-capabilities.cc.
References m_rxStbc.
uint16_t ns3::VhtCapabilities::GetSerializedSize | ( | void | ) | const |
Definition at line 89 of file vht-capabilities.cc.
References ns3::WifiInformationElement::GetSerializedSize(), and m_vhtSupported.
Referenced by ns3::MgtAssocRequestHeader::GetSerializedSize(), ns3::MgtAssocResponseHeader::GetSerializedSize(), ns3::MgtProbeRequestHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().
uint8_t ns3::VhtCapabilities::GetShortGuardIntervalFor160Mhz | ( | ) | const |
Definition at line 372 of file vht-capabilities.cc.
References m_shortGuardIntervalFor160Mhz.
uint8_t ns3::VhtCapabilities::GetShortGuardIntervalFor80Mhz | ( | ) | const |
Definition at line 366 of file vht-capabilities.cc.
References m_shortGuardIntervalFor80Mhz.
uint8_t ns3::VhtCapabilities::GetSupportedChannelWidthSet | ( | ) | const |
Definition at line 354 of file vht-capabilities.cc.
References m_supportedChannelWidthSet.
Referenced by ns3::WifiRemoteStationManager::AddStationVhtCapabilities().
uint64_t ns3::VhtCapabilities::GetSupportedMcsAndNssSet | ( | ) | const |
Definition at line 190 of file vht-capabilities.cc.
References m_rxHighestSupportedLongGuardIntervalDataRate, m_rxMcsMap, m_txHighestSupportedLongGuardIntervalDataRate, and m_txMcsMap.
Referenced by ns3::operator<<(), and SerializeInformationField().
uint16_t ns3::VhtCapabilities::GetTxHighestSupportedLgiDataRate | ( | ) | const |
Definition at line 447 of file vht-capabilities.cc.
References m_txHighestSupportedLongGuardIntervalDataRate.
uint16_t ns3::VhtCapabilities::GetTxMcsMap | ( | ) | const |
Definition at line 428 of file vht-capabilities.cc.
References m_txMcsMap.
uint8_t ns3::VhtCapabilities::GetTxStbc | ( | ) | const |
Definition at line 384 of file vht-capabilities.cc.
References m_txStbc.
uint32_t ns3::VhtCapabilities::GetVhtCapabilitiesInfo | ( | ) | const |
Definition at line 146 of file vht-capabilities.cc.
References m_beamformeeStsCapable, m_htcVhtCapable, m_maxAmpduLengthExponent, m_maxMpduLength, m_muBeamformeeCapable, m_muBeamformerCapable, m_numberOfSoundingDimensions, m_rxAntennaPatternConsistency, m_rxLdpc, m_rxStbc, m_shortGuardIntervalFor160Mhz, m_shortGuardIntervalFor80Mhz, m_suBeamformeeCapable, m_suBeamformerCapable, m_supportedChannelWidthSet, m_txAntennaPatternConsistency, m_txStbc, m_vhtLinkAdaptationCapable, and m_vhtTxopPs.
Referenced by ns3::operator<<(), ns3::ApWifiMac::Receive(), and SerializeInformationField().
bool ns3::VhtCapabilities::IsSupportedMcs | ( | uint8_t | mcs, |
uint8_t | Nss | ||
) | const |
Definition at line 396 of file vht-capabilities.cc.
References m_rxMcsMap.
bool ns3::VhtCapabilities::IsSupportedRxMcs | ( | uint8_t | mcs | ) | const |
Definition at line 317 of file vht-capabilities.cc.
References m_rxMcsMap, and NS_ASSERT.
bool ns3::VhtCapabilities::IsSupportedTxMcs | ( | uint8_t | mcs | ) | const |
Definition at line 298 of file vht-capabilities.cc.
References m_txMcsMap, and NS_ASSERT.
Referenced by ns3::StaWifiMac::Receive(), and ns3::ApWifiMac::Receive().
Buffer::Iterator ns3::VhtCapabilities::Serialize | ( | Buffer::Iterator | start | ) | const |
Definition at line 79 of file vht-capabilities.cc.
References m_vhtSupported, 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 99 of file vht-capabilities.cc.
References GetSupportedMcsAndNssSet(), GetVhtCapabilitiesInfo(), m_vhtSupported, ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteHtolsbU64().
void ns3::VhtCapabilities::SetMaxAmpduLengthExponent | ( | uint8_t | exponent | ) |
Definition at line 252 of file vht-capabilities.cc.
References m_maxAmpduLengthExponent.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetMaxMpduLength | ( | uint8_t | length | ) |
Definition at line 210 of file vht-capabilities.cc.
References m_maxMpduLength.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetRxHighestSupportedLgiDataRate | ( | uint16_t | supporteddatarate | ) |
Definition at line 336 of file vht-capabilities.cc.
References m_rxHighestSupportedLongGuardIntervalDataRate.
void ns3::VhtCapabilities::SetRxLdpc | ( | uint8_t | rxldpc | ) |
Definition at line 222 of file vht-capabilities.cc.
References m_rxLdpc.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetRxMcsMap | ( | uint16_t | map | ) |
map | The 16-bit encoding of Max MCS for each of 8 spatial streams |
Definition at line 258 of file vht-capabilities.cc.
References m_rxMcsMap.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetRxMcsMap | ( | uint8_t | mcs, |
uint8_t | nss | ||
) |
mcs | Max MCS value (between 7 and 9) |
nss | Spatial stream for which the Max MCS value is being set |
Definition at line 270 of file vht-capabilities.cc.
References m_rxMcsMap, and NS_ASSERT.
void ns3::VhtCapabilities::SetRxStbc | ( | uint8_t | rxstbc | ) |
Definition at line 240 of file vht-capabilities.cc.
References m_rxStbc.
void ns3::VhtCapabilities::SetShortGuardIntervalFor160Mhz | ( | uint8_t | shortguardinterval | ) |
Definition at line 234 of file vht-capabilities.cc.
References m_shortGuardIntervalFor160Mhz.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetShortGuardIntervalFor80Mhz | ( | uint8_t | shortguardinterval | ) |
Definition at line 228 of file vht-capabilities.cc.
References m_shortGuardIntervalFor80Mhz.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetSupportedChannelWidthSet | ( | uint8_t | channelwidthset | ) |
Definition at line 216 of file vht-capabilities.cc.
References m_supportedChannelWidthSet.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetSupportedMcsAndNssSet | ( | uint64_t | ctrl | ) |
Set the MCS and NSS field in the VHT Capabilities information element.
ctrl | the MCS and NSS field in the VHT Capabilities information element |
Definition at line 172 of file vht-capabilities.cc.
References m_rxHighestSupportedLongGuardIntervalDataRate, m_rxMcsMap, m_txHighestSupportedLongGuardIntervalDataRate, and m_txMcsMap.
Referenced by DeserializeInformationField(), and ns3::operator>>().
void ns3::VhtCapabilities::SetTxHighestSupportedLgiDataRate | ( | uint16_t | supporteddatarate | ) |
Definition at line 342 of file vht-capabilities.cc.
References m_txHighestSupportedLongGuardIntervalDataRate.
void ns3::VhtCapabilities::SetTxMcsMap | ( | uint16_t | map | ) |
map | The 16-bit encoding of Max MCS for each of 8 spatial streams |
Definition at line 278 of file vht-capabilities.cc.
References m_txMcsMap.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
void ns3::VhtCapabilities::SetTxMcsMap | ( | uint8_t | mcs, |
uint8_t | nss | ||
) |
mcs | Max MCS value (between 7 and 9) |
nss | Spatial stream for which the Max MCS value is being set |
Definition at line 290 of file vht-capabilities.cc.
References m_txMcsMap, and NS_ASSERT.
void ns3::VhtCapabilities::SetTxStbc | ( | uint8_t | txstbc | ) |
Definition at line 246 of file vht-capabilities.cc.
References m_txStbc.
void ns3::VhtCapabilities::SetVhtCapabilitiesInfo | ( | uint32_t | ctrl | ) |
Set the VHT Capabilties Info field in the VHT Capabilities information element.
ctrl | the VHT Capabilties Info field in the VHT Capabilities information element |
Definition at line 122 of file vht-capabilities.cc.
References m_beamformeeStsCapable, m_htcVhtCapable, m_maxAmpduLengthExponent, m_maxMpduLength, m_muBeamformeeCapable, m_muBeamformerCapable, m_numberOfSoundingDimensions, m_rxAntennaPatternConsistency, m_rxLdpc, m_rxStbc, m_shortGuardIntervalFor160Mhz, m_shortGuardIntervalFor80Mhz, m_suBeamformeeCapable, m_suBeamformerCapable, m_supportedChannelWidthSet, m_txAntennaPatternConsistency, m_txStbc, m_vhtLinkAdaptationCapable, and m_vhtTxopPs.
Referenced by DeserializeInformationField(), and ns3::operator>>().
void ns3::VhtCapabilities::SetVhtSupported | ( | uint8_t | vhtsupported | ) |
Definition at line 65 of file vht-capabilities.cc.
References m_vhtSupported.
Referenced by ns3::RegularWifiMac::GetVhtCapabilities().
|
private |
Definition at line 153 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 158 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 159 of file vht-capabilities.h.
Referenced by GetMaxAmpduLengthExponent(), GetVhtCapabilitiesInfo(), SetMaxAmpduLengthExponent(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 144 of file vht-capabilities.h.
Referenced by GetMaxMpduLength(), GetVhtCapabilitiesInfo(), SetMaxMpduLength(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 156 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 155 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 154 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 161 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 166 of file vht-capabilities.h.
Referenced by GetRxHighestSupportedLgiDataRate(), GetSupportedMcsAndNssSet(), SetRxHighestSupportedLgiDataRate(), and SetSupportedMcsAndNssSet().
|
private |
Definition at line 146 of file vht-capabilities.h.
Referenced by GetRxLdpc(), GetVhtCapabilitiesInfo(), SetRxLdpc(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 165 of file vht-capabilities.h.
Referenced by GetRxMcsMap(), GetSupportedMcsAndNssSet(), IsSupportedMcs(), IsSupportedRxMcs(), SetRxMcsMap(), SetSupportedMcsAndNssSet(), and VhtCapabilities().
|
private |
Definition at line 150 of file vht-capabilities.h.
Referenced by GetRxStbc(), GetVhtCapabilitiesInfo(), SetRxStbc(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 148 of file vht-capabilities.h.
Referenced by GetShortGuardIntervalFor160Mhz(), GetVhtCapabilitiesInfo(), SetShortGuardIntervalFor160Mhz(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 147 of file vht-capabilities.h.
Referenced by GetShortGuardIntervalFor80Mhz(), GetVhtCapabilitiesInfo(), SetShortGuardIntervalFor80Mhz(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 152 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 151 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 145 of file vht-capabilities.h.
Referenced by GetSupportedChannelWidthSet(), GetVhtCapabilitiesInfo(), SetSupportedChannelWidthSet(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 162 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 168 of file vht-capabilities.h.
Referenced by GetSupportedMcsAndNssSet(), GetTxHighestSupportedLgiDataRate(), SetSupportedMcsAndNssSet(), and SetTxHighestSupportedLgiDataRate().
|
private |
Definition at line 167 of file vht-capabilities.h.
Referenced by GetSupportedMcsAndNssSet(), GetTxMcsMap(), IsSupportedTxMcs(), SetSupportedMcsAndNssSet(), SetTxMcsMap(), and VhtCapabilities().
|
private |
Definition at line 149 of file vht-capabilities.h.
Referenced by GetTxStbc(), GetVhtCapabilitiesInfo(), SetTxStbc(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 160 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().
|
private |
Definition at line 171 of file vht-capabilities.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetVhtSupported().
|
private |
Definition at line 157 of file vht-capabilities.h.
Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().