The Extended Supported Rates Information Element. More...
#include "supported-rates.h"
Public Member Functions | |
ExtendedSupportedRatesIE () | |
ExtendedSupportedRatesIE (SupportedRates *rates) | |
Create an extended supported rates information element from the given rates. More... | |
uint8_t | DeserializeInformationField (Buffer::Iterator start, uint8_t length) override |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
WifiInformationElementId | ElementId () const override |
uint8_t | GetInformationFieldSize () const override |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More... | |
uint16_t | GetSerializedSize () const override |
Get the size of the serialized IE including Element ID and length fields. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator start) const override |
Serialize entire IE including Element ID and length fields. More... | |
void | SerializeInformationField (Buffer::Iterator start) const override |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
void | SetSupportedRates (SupportedRates *rates) |
Set supported rates. More... | |
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... | |
virtual WifiInformationElementId | ElementIdExt () const |
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... | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] const SimpleRefCount &o) |
Assignment operator. More... | |
void | Ref (void) const |
Increment the reference count. More... | |
void | Unref (void) const |
Decrement the reference count. More... | |
Private Attributes | |
SupportedRates * | m_supportedRates |
This member points to the SupportedRates object that contains the actual rate details. More... | |
The Extended Supported Rates Information Element.
This class knows how to serialise and deserialise the Extended Supported Rates Element that holds (non-HT) rates beyond the 8 that the original Supported Rates element can carry.
The SupportedRates
class still records all the rates, and an instance of ExtendedSupportedRatesIE
lies within SupportedRates
.
Definition at line 42 of file supported-rates.h.
ns3::ExtendedSupportedRatesIE::ExtendedSupportedRatesIE | ( | ) |
Definition at line 207 of file supported-rates.cc.
ns3::ExtendedSupportedRatesIE::ExtendedSupportedRatesIE | ( | SupportedRates * | rates | ) |
Create an extended supported rates information element from the given rates.
rates | the extended supported rates |
Definition at line 211 of file supported-rates.cc.
References m_supportedRates.
|
overridevirtual |
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 287 of file supported-rates.cc.
References ns3::SupportedRates::m_nRates, ns3::SupportedRates::m_rates, m_supportedRates, ns3::SupportedRates::MAX_SUPPORTED_RATES, NS_ASSERT, and visualizer.core::start().
|
overridevirtual |
Implements ns3::WifiInformationElement.
Definition at line 217 of file supported-rates.cc.
References IE_EXTENDED_SUPPORTED_RATES.
|
overridevirtual |
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 229 of file supported-rates.cc.
References ns3::SupportedRates::m_nRates, m_supportedRates, and NS_ASSERT.
|
overridevirtual |
Get the size of the serialized IE including Element ID and length fields.
Reimplemented from ns3::WifiInformationElement.
Definition at line 272 of file supported-rates.cc.
References ns3::WifiInformationElement::GetSerializedSize(), ns3::SupportedRates::m_nRates, and m_supportedRates.
Referenced by ns3::dot11s::PeerLinkOpenStart::GetSerializedSize(), ns3::dot11s::PeerLinkConfirmStart::GetSerializedSize(), ns3::MgtReassocRequestHeader::GetSerializedSize(), ns3::MgtAssocResponseHeader::GetSerializedSize(), ns3::MgtProbeRequestHeader::GetSerializedSize(), ns3::MgtProbeResponseHeader::GetSerializedSize(), and ns3::MgtAssocRequestHeader::GetSerializedSize().
|
overridevirtual |
Serialize entire IE including Element ID and length fields.
i | an iterator which points to where the IE should be written. |
Reimplemented from ns3::WifiInformationElement.
Definition at line 258 of file supported-rates.cc.
References ns3::SupportedRates::m_nRates, m_supportedRates, ns3::WifiInformationElement::Serialize(), and visualizer.core::start().
Referenced by ns3::dot11s::PeerLinkOpenStart::Serialize(), ns3::dot11s::PeerLinkConfirmStart::Serialize(), ns3::MgtReassocRequestHeader::Serialize(), ns3::MgtAssocResponseHeader::Serialize(), ns3::MgtProbeRequestHeader::Serialize(), ns3::MgtProbeResponseHeader::Serialize(), and ns3::MgtAssocRequestHeader::Serialize().
|
overridevirtual |
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 244 of file supported-rates.cc.
References ns3::SupportedRates::m_nRates, ns3::SupportedRates::m_rates, m_supportedRates, NS_ASSERT, and visualizer.core::start().
void ns3::ExtendedSupportedRatesIE::SetSupportedRates | ( | SupportedRates * | rates | ) |
Set supported rates.
rates | the supported rates |
Definition at line 223 of file supported-rates.cc.
References m_supportedRates.
Referenced by ns3::SupportedRates::SupportedRates(), and ns3::SupportedRates::operator=().
|
private |
This member points to the SupportedRates object that contains the actual rate details.
This class is a friend of that, so we have access to all the private data we need.
Definition at line 81 of file supported-rates.h.
Referenced by ExtendedSupportedRatesIE(), DeserializeInformationField(), GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetSupportedRates().