21 #ifndef WIFI_PREQ_INFORMATION_ELEMENT_H
22 #define WIFI_PREQ_INFORMATION_ELEMENT_H
26 #include "ns3/mac48-address.h"
27 #include "ns3/mesh-information-element-vector.h"
40 void SetFlags (
bool doFlag,
bool rfFlag,
bool usnFlag);
42 void SetDestSeqNumber (uint32_t dest_seq_number);
47 uint32_t GetDestSeqNumber ()
const;
53 uint32_t m_destSeqNumber;
74 uint32_t dest_seq_number
87 void SetNeedNotPrep ();
90 void SetHopcount (uint8_t hopcount);
91 void SetTTL (uint8_t ttl);
92 void SetPreqID (uint32_t
id);
93 void SetOriginatorAddress (
Mac48Address originator_address);
94 void SetOriginatorSeqNumber (uint32_t originator_seq_number);
95 void SetLifetime (uint32_t lifetime);
96 void SetMetric (uint32_t metric);
97 void SetDestCount (uint8_t dest_count);
101 bool IsUnicastPreq ()
const;
102 bool IsNeedNotPrep ()
const;
103 uint8_t GetHopCount ()
const;
104 uint8_t GetTtl ()
const;
105 uint32_t GetPreqID ()
const;
107 uint32_t GetOriginatorSeqNumber ()
const;
108 uint32_t GetLifetime ()
const;
109 uint32_t GetMetric ()
const;
110 uint8_t GetDestCount ()
const;
114 void IncrementMetric (uint32_t metric);
120 bool IsFull ()
const;
129 virtual void Print (std::ostream& os)
const;
144 uint32_t m_originatorSeqNumber;
148 std::vector<Ptr<DestinationAddressUnit> > m_destinations;
150 friend bool operator== (
const IePreq & a,
const IePreq & b);
iterator in a Buffer instance
virtual void Print(std::ostream &os) const
In addition, a subclass may optionally override the following...
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
See 7.3.2.96 of 802.11s draft 2.07.
void ClearDestinationAddressElements()
Clear PREQ: remove all destinations.
virtual uint8_t DeserializeInformationField(Buffer::Iterator i, uint8_t length)
std::ostream & operator<<(std::ostream &os, const Angles &a)
void AddDestinationAddressElement(bool doFlag, bool rfFlag, Mac48Address dest_address, uint32_t dest_seq_number)
void DelDestinationAddressElement(Mac48Address dest_address)
Delete a destination address unit by destination.
virtual void SerializeInformationField(Buffer::Iterator i) const
std::vector< Ptr< DestinationAddressUnit > > GetDestinationList()
Get all destinations, which are stored in PREQ:
void SetUnicastPreq()
SetProper flags which indicate that PREQ is unicast.
virtual uint8_t GetInformationFieldSize() const
uint8_t WifiInformationElementId
Describes an address unit in PREQ information element See 7.3.2.96 for more details.
A template-based reference counting class.