21 #ifndef WIFI_TIMING_ELEMENT_H
22 #define WIFI_TIMING_ELEMENT_H
25 #include "ns3/nstime.h"
26 #include "ns3/mesh-information-element-vector.h"
92 virtual void Print (std::ostream& os)
const;
101 static uint8_t
AidToU8 (uint16_t
x);
uint8_t m_aid
Least significant octet of AID:
Simulation virtual time values and global simulation resolution.
uint16_t GetBeaconInterval() const
NeighboursTimingUnitsList m_neighbours
uint16_t GetLastBeacon() const
virtual uint8_t DeserializeInformationField(Buffer::Iterator i, uint8_t length)
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) ...
uint16_t m_lastBeacon
Last time we received a beacon in accordance with a local TSF measured in 256 microseconds unit...
NeighboursTimingUnitsList GetNeighboursTimingElementsList()
This methods are needed for beacon collision avoidance module:
bool operator==(const MeshHeader &a, const MeshHeader &b)
std::vector< Ptr< IeBeaconTimingUnit > > NeighboursTimingUnitsList
This type is a list of timing elements obtained from neighbours with their beacons: ...
iterator in a Buffer instance
void SetBeaconInterval(uint16_t beaconInterval)
void ClearTimingElement()
static uint16_t BeaconIntervalToU16(Time x)
See 7.3.2.89 of 802.11s draft 2.07.
uint16_t m_numOfUnits
Timing element parameters:
virtual void Print(std::ostream &os) const
Generate human-readable form of IE.
virtual uint8_t GetInformationFieldSize() const
Length of serialized information (i.e., the length of the body of the IE, not including the Element I...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
friend bool operator==(const IeBeaconTimingUnit &a, const IeBeaconTimingUnit &b)
static uint16_t TimestampToU16(Time x)
Converters:
uint16_t m_beaconInterval
Beacon interval of remote mesh point.
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
void DelNeighboursTimingElementUnit(uint16_t aid, Time last_beacon, Time beacon_interval)
uint8_t WifiInformationElementId
This type is used to represent an Information Element ID.
void AddNeighboursTimingElementUnit(uint16_t aid, Time last_beacon, Time beacon_interval)
void SetLastBeacon(uint16_t lastBeacon)
A template-based reference counting class.
std::ostream & operator<<(std::ostream &os, const IeBeaconTiming &a)
virtual void SerializeInformationField(Buffer::Iterator i) const
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) ...
Describes one unit of beacon timing element.
static uint8_t AidToU8(uint16_t x)
bool operator==(WifiInformationElement const &a) const
Compare two IEs for equality by ID & Length, and then through memcmp of serialised version...