11#include "ns3/address-utils.h"
69 start.WriteHtolsbU16(val);
77 start.WriteHtolsbU16(val);
88 start.WriteHtolsbU16(val);
97 uint8_t length = i.
ReadU8();
101 if ((presence & 0x0001) != 0)
106 if ((presence & 0x0002) != 0)
111 if ((presence & 0x0004) != 0)
120 if ((presence & 0x0008) != 0)
132 if ((presence & 0x0010) != 0)
143 if ((presence & 0x0020) != 0)
148 if ((presence & 0x0040) != 0)
159 "Common Info Length (" << +length
161 "from actual number of bytes read ("
176 for (uint8_t i = 1; i <= 4; i++)
178 if (1 << (i + 4) == delayUs)
209 for (uint8_t i = 1; i <= 5; i++)
211 if (1 << (i + 3) == delayUs)
236 NS_ABORT_MSG_IF(delayUs % 32 != 0,
"Delay must be a multiple of 32 microseconds");
256 NS_ABORT_MSG_IF(threshold < -72 || threshold > -62,
"Threshold may range from -72 to -62 dBm");
257 uint8_t value = 72 + threshold;
276 NS_ASSERT_MSG(nTxops < 16,
"Value " << +nTxops <<
"cannot be encoded in 4 bits");
293std::optional<uint8_t>
iterator in a Buffer instance
Simulation virtual time values and global simulation resolution.
TimeWithUnit As(const Unit unit=Time::AUTO) const
Attach a unit to a Time, to facilitate output in a specific unit.
int64_t GetMicroSeconds() const
Get an approximation of the time stored in this instance in the indicated unit.
#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_ABORT_MSG(msg)
Unconditional abnormal program termination with a message.
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message.
Time MicroSeconds(uint64_t value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void WriteTo(Buffer::Iterator &i, Ipv4Address ad)
Write an Ipv4Address to a Buffer.
void ReadFrom(Buffer::Iterator &i, Ipv4Address &ad)
Read an Ipv4Address from a Buffer.
EML Capabilities subfield.
Extended MLD Capabilities and Operations subfield.
Medium Synchronization Delay Information subfield.
uint8_t mediumSyncOfdmEdThreshold
Medium Synchronization OFDM ED Threshold.
uint8_t mediumSyncDuration
Medium Synchronization Duration.
uint8_t mediumSyncMaxNTxops
Medium Synchronization MAximum Number of TXOPs.
MLD Capabilities subfield.
uint16_t GetPresenceBitmap() const
Get the Presence Bitmap subfield of the Common Info field.
uint8_t GetSize() const
Get the size of the serialized Common Info field.
static uint8_t EncodeEmlsrTransitionDelay(Time delay)
static Time DecodeEmlsrTransitionDelay(uint8_t value)
std::optional< EmlCapabilities > m_emlCapabilities
EML Capabilities.
std::optional< ExtMldCapabilities > m_extMldCapabilities
Extended MLD Capabilities.
uint8_t Deserialize(Buffer::Iterator start, uint16_t presence)
Deserialize the Common Info field.
std::optional< uint8_t > GetMediumSyncMaxNTxops() const
Get the maximum number of TXOPs a non-AP STA is allowed to attempt to initiate while the MediumSyncDe...
int8_t GetMediumSyncOfdmEdThreshold() const
Get the Medium Synchronization OFDM ED Threshold in dBm.
std::optional< MldCapabilities > m_mldCapabilities
MLD Capabilities.
void SetMediumSyncOfdmEdThreshold(int8_t threshold)
Set the Medium Synchronization OFDM ED Threshold subfield of the Medium Synchronization Delay Informa...
static Time DecodeEmlsrPaddingDelay(uint8_t value)
void Serialize(Buffer::Iterator &start) const
Serialize the Common Info field.
std::optional< MediumSyncDelayInfo > m_mediumSyncDelayInfo
Medium Synchronization Delay Information.
void SetMediumSyncDelayTimer(Time delay)
Set the Medium Synchronization Duration subfield of the Medium Synchronization Delay Information in t...
Time GetMediumSyncDelayTimer() const
Get the Medium Synchronization Duration subfield of the Medium Synchronization Delay Information in t...
Mac48Address m_mldMacAddress
Subfields.
std::optional< uint8_t > m_bssParamsChangeCount
BSS Parameters Change Count.
void SetMediumSyncMaxNTxops(uint8_t nTxops)
Set the Medium Synchronization Maximum Number of TXOPs subfield of the Medium Synchronization Delay I...
std::optional< uint8_t > m_linkIdInfo
Link ID Info.
static uint8_t EncodeEmlsrPaddingDelay(Time delay)
std::optional< uint8_t > m_apMldId
AP MLD ID.