A Discrete-Event Network Simulator
API
ns3::VhtCapabilities Class Reference

The IEEE 802.11ac VHT Capabilities. More...

#include "vht-capabilities.h"

+ Inheritance diagram for ns3::VhtCapabilities:
+ Collaboration diagram for ns3::VhtCapabilities:

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)
 
- 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 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...
 
- Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
 SimpleRefCount ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (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 Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

The IEEE 802.11ac VHT Capabilities.

Definition at line 37 of file vht-capabilities.h.

Constructor & Destructor Documentation

ns3::VhtCapabilities::VhtCapabilities ( )

Definition at line 30 of file vht-capabilities.cc.

References m_rxMcsMap, and m_txMcsMap.

Member Function Documentation

uint8_t ns3::VhtCapabilities::DeserializeInformationField ( Buffer::Iterator  start,
uint8_t  length 
)
virtual

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 110 of file vht-capabilities.cc.

References ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadLsbtohU64(), SetSupportedMcsAndNssSet(), SetVhtCapabilitiesInfo(), and visualizer.core::start().

+ Here is the call graph for this function:

WifiInformationElementId ns3::VhtCapabilities::ElementId ( ) const
virtual

Own unique Element ID.

Implements ns3::WifiInformationElement.

Definition at line 59 of file vht-capabilities.cc.

References IE_VHT_CAPABILITIES.

uint8_t ns3::VhtCapabilities::GetInformationFieldSize ( ) const
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)

Returns
the length of serialized information

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

uint16_t ns3::VhtCapabilities::GetTxHighestSupportedLgiDataRate ( ) const
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.

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

+ Here is the caller graph for this function:

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SerializeInformationField ( Buffer::Iterator  start) const
virtual

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 99 of file vht-capabilities.cc.

References GetSupportedMcsAndNssSet(), GetVhtCapabilitiesInfo(), m_vhtSupported, ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteHtolsbU64().

+ Here is the call graph for this function:

void ns3::VhtCapabilities::SetMaxAmpduLengthExponent ( uint8_t  exponent)

Definition at line 252 of file vht-capabilities.cc.

References m_maxAmpduLengthExponent.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetMaxMpduLength ( uint8_t  length)

Definition at line 210 of file vht-capabilities.cc.

References m_maxMpduLength.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetRxHighestSupportedLgiDataRate ( uint16_t  supporteddatarate)
void ns3::VhtCapabilities::SetRxLdpc ( uint8_t  rxldpc)

Definition at line 222 of file vht-capabilities.cc.

References m_rxLdpc.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetRxMcsMap ( uint16_t  map)
Parameters
mapThe 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().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetRxMcsMap ( uint8_t  mcs,
uint8_t  nss 
)
Parameters
mcsMax MCS value (between 7 and 9)
nssSpatial 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().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetShortGuardIntervalFor80Mhz ( uint8_t  shortguardinterval)

Definition at line 228 of file vht-capabilities.cc.

References m_shortGuardIntervalFor80Mhz.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetSupportedChannelWidthSet ( uint8_t  channelwidthset)

Definition at line 216 of file vht-capabilities.cc.

References m_supportedChannelWidthSet.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetSupportedMcsAndNssSet ( uint64_t  ctrl)

Set the MCS and NSS field in the VHT Capabilities information element.

Parameters
ctrlthe 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>>().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetTxHighestSupportedLgiDataRate ( uint16_t  supporteddatarate)
void ns3::VhtCapabilities::SetTxMcsMap ( uint16_t  map)
Parameters
mapThe 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().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetTxMcsMap ( uint8_t  mcs,
uint8_t  nss 
)
Parameters
mcsMax MCS value (between 7 and 9)
nssSpatial 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.

Parameters
ctrlthe 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>>().

+ Here is the caller graph for this function:

void ns3::VhtCapabilities::SetVhtSupported ( uint8_t  vhtsupported)

Definition at line 65 of file vht-capabilities.cc.

References m_vhtSupported.

Referenced by ns3::RegularWifiMac::GetVhtCapabilities().

+ Here is the caller graph for this function:

Member Data Documentation

uint8_t ns3::VhtCapabilities::m_beamformeeStsCapable
private

Definition at line 153 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_htcVhtCapable
private

Definition at line 158 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_maxAmpduLengthExponent
private
uint16_t ns3::VhtCapabilities::m_maxMpduLength
private
uint8_t ns3::VhtCapabilities::m_muBeamformeeCapable
private

Definition at line 156 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_muBeamformerCapable
private

Definition at line 155 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_numberOfSoundingDimensions
private

Definition at line 154 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_rxAntennaPatternConsistency
private

Definition at line 161 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint16_t ns3::VhtCapabilities::m_rxHighestSupportedLongGuardIntervalDataRate
private
uint8_t ns3::VhtCapabilities::m_rxLdpc
private
std::vector<uint8_t> ns3::VhtCapabilities::m_rxMcsMap
private
uint8_t ns3::VhtCapabilities::m_rxStbc
private
uint8_t ns3::VhtCapabilities::m_shortGuardIntervalFor160Mhz
private
uint8_t ns3::VhtCapabilities::m_shortGuardIntervalFor80Mhz
private
uint8_t ns3::VhtCapabilities::m_suBeamformeeCapable
private

Definition at line 152 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_suBeamformerCapable
private

Definition at line 151 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint16_t ns3::VhtCapabilities::m_supportedChannelWidthSet
private
uint8_t ns3::VhtCapabilities::m_txAntennaPatternConsistency
private

Definition at line 162 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint16_t ns3::VhtCapabilities::m_txHighestSupportedLongGuardIntervalDataRate
private
std::vector<uint8_t> ns3::VhtCapabilities::m_txMcsMap
private
uint8_t ns3::VhtCapabilities::m_txStbc
private
uint8_t ns3::VhtCapabilities::m_vhtLinkAdaptationCapable
private

Definition at line 160 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().

uint8_t ns3::VhtCapabilities::m_vhtSupported
private
uint8_t ns3::VhtCapabilities::m_vhtTxopPs
private

Definition at line 157 of file vht-capabilities.h.

Referenced by GetVhtCapabilitiesInfo(), and SetVhtCapabilitiesInfo().


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