A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::HtCapabilities Class Reference

The Ht Capabilities Information ElementThis class knows how to serialise and deserialise the Ht Capabilities Information Element. More...

#include <ht-capabilities.h>

+ Inheritance diagram for ns3::HtCapabilities:
+ Collaboration diagram for ns3::HtCapabilities:

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)
 
- 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...
 
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...
 
- 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_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 Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

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.

Constructor & Destructor Documentation

ns3::HtCapabilities::HtCapabilities ( )

Definition at line 31 of file ht-capabilities.cc.

References m_rxMcsBitmask, and MAX_SUPPORTED_MCS.

Member Function Documentation

uint8_t ns3::HtCapabilities::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 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().

+ Here is the call graph for this function:

WifiInformationElementId ns3::HtCapabilities::ElementId ( ) const
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().

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

uint16_t ns3::HtCapabilities::GetHtCapabilitiesInfo ( void  ) const
uint8_t ns3::HtCapabilities::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 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<<().

+ Here is the caller graph for this function:

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.

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

uint8_t ns3::HtCapabilities::GetSupportedChannelWidth ( void  ) const

Definition at line 131 of file ht-capabilities.cc.

References m_supportedChannelWidth.

Referenced by ns3::operator<<().

+ Here is the caller graph for this function:

uint64_t ns3::HtCapabilities::GetSupportedMcsSet1 ( void  ) const

Definition at line 254 of file ht-capabilities.cc.

References m_rxMcsBitmask.

Referenced by SerializeInformationField().

+ Here is the caller graph for this function:

uint64_t ns3::HtCapabilities::GetSupportedMcsSet2 ( void  ) const
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().

+ Here is the caller graph for this function:

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.

Parameters
start
Returns
an iterator

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ns3::HtCapabilities::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 285 of file ht-capabilities.cc.

References GetAmpduParameters(), GetHtCapabilitiesInfo(), GetSupportedMcsSet1(), GetSupportedMcsSet2(), and m_htSupported.

+ Here is the call graph for this function:

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

void ns3::HtCapabilities::SetHtCapabilitiesInfo ( uint16_t  ctrl)
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().

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

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

+ Here is the caller graph for this function:

void ns3::HtCapabilities::SetSupportedChannelWidth ( uint8_t  supportedchannelwidth)

Definition at line 84 of file ht-capabilities.cc.

References m_supportedChannelWidth.

Referenced by ns3::operator>>().

+ Here is the caller graph for this function:

void ns3::HtCapabilities::SetSupportedMcsSet ( uint64_t  ctrl1,
uint64_t  ctrl2 
)

Member Data Documentation

uint8_t ns3::HtCapabilities::m_ampduReserved
private

Definition at line 111 of file ht-capabilities.h.

Referenced by GetAmpduParameters(), and SetAmpduParameters().

uint8_t ns3::HtCapabilities::m_dssMode40
private

Definition at line 105 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_fortyMhzIntolerant
private

Definition at line 107 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_greenField
private
uint8_t ns3::HtCapabilities::m_htDelayedBlockAck
private

Definition at line 103 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_htSupported
private
uint8_t ns3::HtCapabilities::m_ldpc
private

Definition at line 95 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), GetLdpc(), SetHtCapabilitiesInfo(), and SetLdpc().

uint8_t ns3::HtCapabilities::m_lsigProtectionSupport
private

Definition at line 108 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_maxAmpduLength
private

Definition at line 109 of file ht-capabilities.h.

Referenced by GetAmpduParameters(), and SetAmpduParameters().

uint8_t ns3::HtCapabilities::m_maxAmsduLength
private

Definition at line 104 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_minMpduStartSpace
private

Definition at line 110 of file ht-capabilities.h.

Referenced by GetAmpduParameters(), and SetAmpduParameters().

uint8_t ns3::HtCapabilities::m_reserved
private

Definition at line 106 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_reservedMcsSet1
private

Definition at line 112 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint8_t ns3::HtCapabilities::m_reservedMcsSet2
private

Definition at line 114 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint32_t ns3::HtCapabilities::m_reservedMcsSet3
private

Definition at line 119 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint16_t ns3::HtCapabilities::m_rxHighestSupportedDataRate
private

Definition at line 113 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint8_t ns3::HtCapabilities::m_rxMcsBitmask[MAX_SUPPORTED_MCS]
private
uint8_t ns3::HtCapabilities::m_rxStbc
private

Definition at line 102 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_shortGuardInterval20
private
uint8_t ns3::HtCapabilities::m_shortGuardInterval40
private

Definition at line 100 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_smPowerSave
private

Definition at line 97 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_supportedChannelWidth
private
uint8_t ns3::HtCapabilities::m_txMaxNSpatialStreams
private

Definition at line 117 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint8_t ns3::HtCapabilities::m_txMcsSetDefined
private

Definition at line 115 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint8_t ns3::HtCapabilities::m_txRxMcsSetUnequal
private

Definition at line 116 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().

uint8_t ns3::HtCapabilities::m_txStbc
private

Definition at line 101 of file ht-capabilities.h.

Referenced by GetHtCapabilitiesInfo(), and SetHtCapabilitiesInfo().

uint8_t ns3::HtCapabilities::m_txUnequalModulation
private

Definition at line 118 of file ht-capabilities.h.

Referenced by GetSupportedMcsSet2(), and SetSupportedMcsSet().


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