13#include "ns3/mesh-wifi-interface-mac.h" 
   14#include "ns3/packet.h" 
   59    static TypeId tid = 
TypeId(
"ns3::dot11s::PeerLinkOpenStart")
 
 
   87    size += 
m_rates.GetSerializedSize();
 
   92    size += 
m_meshId.GetInformationFieldSize() + 2;
 
   93    size += 
m_config.GetInformationFieldSize() + 2;
 
 
  121    if (tmp.GetDistanceFrom(i) == 0)
 
  127    uint8_t length = i.
ReadU8();
 
  128    m_meshId.DeserializeInformationField(i, length);
 
  130        (
m_meshId.GetInformationFieldSize() != length))
 
  132        NS_FATAL_ERROR(
"Broken frame: Element ID does not match IE itself!");
 
  137    m_config.DeserializeInformationField(i, length);
 
  139        (
m_config.GetInformationFieldSize() != length))
 
  141        NS_FATAL_ERROR(
"Broken frame: Element ID does not match IE itself!");
 
 
  181    static TypeId tid = 
TypeId(
"ns3::dot11s::PeerLinkCloseStart")
 
  183                            .SetGroupName(
"Mesh")
 
 
  204    size += 
m_meshId.GetInformationFieldSize() + 2;
 
 
  221    uint8_t length = i.
ReadU8();
 
  222    m_meshId.DeserializeInformationField(i, length);
 
  224        (
m_meshId.GetInformationFieldSize() != length))
 
  226        NS_FATAL_ERROR(
"Broken frame: Element ID does not match IE itself!");
 
 
  273    static TypeId tid = 
TypeId(
"ns3::dot11s::PeerLinkConfirmStart")
 
  275                            .SetGroupName(
"Mesh")
 
 
  300    size += 
m_rates.GetSerializedSize();
 
  305    size += 
m_config.GetInformationFieldSize() + 2;
 
 
  334    if (tmp.GetDistanceFrom(i) == 0)
 
  340    uint8_t length = i.
ReadU8();
 
  341    m_config.DeserializeInformationField(i, length);
 
  343        (
m_config.GetInformationFieldSize() != length))
 
  345        NS_FATAL_ERROR(
"Broken frame: Element ID does not match IE itself!");
 
 
iterator in a Buffer instance
 
void WriteHtolsbU16(uint16_t data)
 
uint32_t GetDistanceFrom(const Iterator &o) const
 
void Next()
go forward by one byte
 
The Extended Supported Rates Information Element.
 
The Supported Rates Information Element.
 
a unique identifier for an interface.
 
TypeId SetParent(TypeId tid)
Set the parent TypeId.
 
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
 
bool IsEqual(const IeMeshId &o) const
Equality test.
 
802.11s Peer link close management frame
 
void Serialize(Buffer::Iterator start) const override
 
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
 
static TypeId GetTypeId()
Get the type ID.
 
uint32_t GetSerializedSize() const override
 
PlinkCloseStartFields GetFields() const
Get peer link close start fields.
 
void Print(std::ostream &os) const override
 
void SetPlinkCloseStart(PlinkCloseStartFields fields)
Set peer link close start fields.
 
uint32_t Deserialize(Buffer::Iterator start) override
 
802.11s Peer link confirm management frame
 
uint32_t Deserialize(Buffer::Iterator start) override
 
std::optional< ExtendedSupportedRatesIE > m_extendedRates
extended rates
 
void Print(std::ostream &os) const override
 
void SetPlinkConfirmStart(PlinkConfirmStartFields fields)
Set peer link confirm start fields.
 
uint16_t m_capability
capability
 
PlinkConfirmStartFields GetFields() const
Get peer link confirm start fields.
 
uint32_t GetSerializedSize() const override
 
void Serialize(Buffer::Iterator start) const override
 
SupportedRates m_rates
rates
 
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
 
static TypeId GetTypeId()
Get the type ID.
 
IeConfiguration m_config
config
 
802.11s Peer link open management frame
 
static TypeId GetTypeId()
Get the type ID.
 
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
 
void SetPlinkOpenStart(PlinkOpenStartFields fields)
Set peer link open start fields.
 
uint32_t GetSerializedSize() const override
 
SupportedRates m_rates
rates
 
uint16_t m_capability
capability
 
IeConfiguration m_config
config
 
std::optional< ExtendedSupportedRatesIE > m_extendedRates
extended rates
 
void Print(std::ostream &os) const override
 
PlinkOpenStartFields GetFields() const
Get peer link open start fields.
 
uint32_t Deserialize(Buffer::Iterator start) override
 
void Serialize(Buffer::Iterator start) const override
 
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
 
bool operator==(const MeshHeader &a, const MeshHeader &b)
 
Every class exported by the ns3 library is enclosed in the ns3 namespace.
 
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
 
IeMeshId meshId
open and close
 
SupportedRates rates
open and confirm
 
IeConfiguration config
open and confirm
 
uint16_t capability
open and confirm
 
std::optional< ExtendedSupportedRatesIE > extendedRates
open and confirm
 
IeConfiguration config
open and confirm
 
SupportedRates rates
open and confirm
 
IeMeshId meshId
open and close
 
uint16_t capability
open and confirm