13#include "ns3/address-utils.h"
14#include "ns3/simulator.h"
50 static TypeId tid =
TypeId(
"ns3::MgtProbeResponseHeader")
136 .SetGroupName(
"Wifi")
150 static TypeId tid =
TypeId(
"ns3::MgtAssocRequestHeader")
152 .SetGroupName(
"Wifi")
190 SetMleContainingFrame();
214 SetMleContainingFrame();
240 if (
auto& mle = Get<MultiLinkElement>())
242 for (std::size_t
id = 0;
id < mle->GetNPerStaProfileSubelements();
id++)
244 auto& perStaProfile = mle->GetPerStaProfile(
id);
245 if (perStaProfile.HasAssocRequest())
247 auto& frameInPerStaProfile =
248 std::get<std::reference_wrapper<MgtAssocRequestHeader>>(
249 perStaProfile.GetAssocRequest())
251 frameInPerStaProfile.CopyIesFromContainingFrame(*
this);
268 "Bytes read (" << distance <<
") exceed expected number (" << length <<
")");
282 static TypeId tid =
TypeId(
"ns3::MgtReassocRequestHeader")
284 .SetGroupName(
"Wifi")
328 SetMleContainingFrame();
360 SetMleContainingFrame();
388 if (
auto& mle = Get<MultiLinkElement>())
390 for (std::size_t
id = 0;
id < mle->GetNPerStaProfileSubelements();
id++)
392 auto& perStaProfile = mle->GetPerStaProfile(
id);
393 if (perStaProfile.HasReassocRequest())
395 auto& frameInPerStaProfile =
396 std::get<std::reference_wrapper<MgtReassocRequestHeader>>(
397 perStaProfile.GetAssocRequest())
399 frameInPerStaProfile.CopyIesFromContainingFrame(*
this);
417 "Bytes read (" << distance <<
") exceed expected number (" << length <<
")");
431 static TypeId tid =
TypeId(
"ns3::MgtAssocResponseHeader")
433 .SetGroupName(
"Wifi")
483 SetMleContainingFrame();
509 os <<
"status code=" <<
m_code <<
", "
510 <<
"aid=" <<
m_aid <<
", ";
517 SetMleContainingFrame();
546 if (
auto& mle = Get<MultiLinkElement>())
548 for (std::size_t
id = 0;
id < mle->GetNPerStaProfileSubelements();
id++)
550 auto& perStaProfile = mle->GetPerStaProfile(
id);
551 if (perStaProfile.HasAssocResponse())
553 auto& frameInPerStaProfile = perStaProfile.GetAssocResponse();
554 frameInPerStaProfile.CopyIesFromContainingFrame(*
this);
572 "Bytes read (" << distance <<
") exceed expected number (" << length <<
")");
iterator in a Buffer instance
void WriteHtolsbU16(uint16_t data)
void WriteHtolsbU64(uint64_t data)
uint32_t GetDistanceFrom(const Iterator &o) const
static Time Now()
Return the current simulation virtual time.
Status code for association response.
Buffer::Iterator Serialize(Buffer::Iterator start) const
Buffer::Iterator Deserialize(Buffer::Iterator start)
uint32_t GetSerializedSize() const
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
#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_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.
std::tuple< Ssid, SupportedRates, std::optional< ExtendedSupportedRatesIE >, std::optional< HtCapabilities >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< HeCapabilities >, std::optional< He6GhzBandCapabilities >, std::optional< MultiLinkElement >, std::optional< EhtCapabilities >, std::vector< TidToLinkMapping > > AssocRequestElems
List of Information Elements included in Association Request frames.
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
std::tuple< SupportedRates, std::optional< ExtendedSupportedRatesIE >, std::optional< EdcaParameterSet >, std::optional< HtCapabilities >, std::optional< HtOperation >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< VhtOperation >, std::optional< HeCapabilities >, std::optional< HeOperation >, std::optional< MuEdcaParameterSet >, std::optional< He6GhzBandCapabilities >, std::optional< MultiLinkElement >, std::optional< EhtCapabilities >, std::optional< EhtOperation >, std::vector< TidToLinkMapping > > AssocResponseElems
List of Information Elements included in Association Response frames.
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.