22#include "ns3/hwmp-protocol.h"
23#include "ns3/packet.h"
27#include "ns3/ie-dot11s-beacon-timing.h"
28#include "ns3/ie-dot11s-configuration.h"
29#include "ns3/ie-dot11s-id.h"
30#include "ns3/ie-dot11s-metric-report.h"
31#include "ns3/ie-dot11s-peer-management.h"
32#include "ns3/ie-dot11s-peering-protocol.h"
33#include "ns3/ie-dot11s-perr.h"
34#include "ns3/ie-dot11s-prep.h"
35#include "ns3/ie-dot11s-preq.h"
36#include "ns3/ie-dot11s-rann.h"
60 static TypeId tid =
TypeId(
"ns3::MeshInformationElementVector")
84 start = (*i)->Serialize(start);
91 NS_FATAL_ERROR(
"This variant should not be called on a variable-sized header");
98 uint32_t size = start.GetDistanceFrom(end);
100 while (remaining > 0)
103 start.Next(deserialized);
105 remaining -= deserialized;
116 uint8_t length = i.
ReadU8();
122 newElement = Create<dot11s::IeConfiguration>();
125 newElement = Create<dot11s::IeMeshId>();
128 newElement = Create<dot11s::IeLinkMetricReport>();
131 newElement = Create<dot11s::IePeerManagement>();
134 newElement = Create<dot11s::IeBeaconTiming>();
137 newElement = Create<dot11s::IeRann>();
140 newElement = Create<dot11s::IePreq>();
143 newElement = Create<dot11s::IePrep>();
146 newElement = Create<dot11s::IePerr>();
149 newElement = Create<dot11s::IePeeringProtocol>();
152 NS_FATAL_ERROR(
"Information element " << +
id <<
" is not implemented");
159 i = newElement->Deserialize(i);
203 if ((*i)->ElementId() ==
id)
217 size += (*i)->GetSerializedSize();
237 MeshInformationElementVector::IE_VECTOR::const_iterator j = a.
m_elements.begin();
238 for (MeshInformationElementVector::IE_VECTOR::const_iterator i =
m_elements.begin();
242 if (!(*(*i) == *(*j)))
iterator in a Buffer instance
uint32_t GetDistanceFrom(const Iterator &o) const
void Prev()
go backward by one byte
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
#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.
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.