21 #include "ie-dot11s-rann.h"
22 #include "ns3/assert.h"
23 #include "ns3/address-utils.h"
24 #include "ns3/packet.h"
33 m_flags (0), m_hopcount (0), m_ttl (0), m_originatorAddress (Mac48Address::GetBroadcast ()),
34 m_destSeqNumber (0), m_metric (0)
44 IeRann::SetFlags (uint8_t flags)
49 IeRann::SetHopcount (uint8_t hopcount)
51 m_hopcount = hopcount;
54 IeRann::SetTTL (uint8_t ttl)
59 IeRann::SetDestSeqNumber (uint32_t dest_seq_number)
61 m_destSeqNumber = dest_seq_number;
64 IeRann::SetMetric (uint32_t metric)
69 IeRann::SetOriginatorAddress (Mac48Address originator_address)
71 m_originatorAddress = originator_address;
80 IeRann::GetHopcount ()
90 IeRann::GetDestSeqNumber ()
92 return m_destSeqNumber;
100 IeRann::DecrementTtl ()
107 IeRann::IncrementMetric (uint32_t m)
113 IeRann::GetOriginatorAddress ()
115 return m_originatorAddress;
123 WriteTo (i, m_originatorAddress);
134 ReadFrom (i, m_originatorAddress);
154 os << std::endl <<
"<information_element id=" <<
ElementId () <<
">" << std::endl;
155 os <<
" flags = " << (int) m_flags << std::endl;
156 os <<
" hop count = " << (int) m_hopcount << std::endl;
157 os <<
" TTL = " << (int) m_ttl << std::endl;
158 os <<
" originator address = " << m_originatorAddress << std::endl;
159 os <<
" dst seq. number = " << m_destSeqNumber << std::endl;
160 os <<
" metric = " << m_metric << std::endl;
161 os <<
"</information_element>" << std::endl;
167 return (a.m_flags == b.m_flags && a.m_hopcount == b.m_hopcount && a.m_ttl == b.m_ttl
168 && a.m_originatorAddress == b.m_originatorAddress && a.m_destSeqNumber == b.m_destSeqNumber
169 && a.m_metric == b.m_metric);
virtual uint8_t GetInformationFieldSize() const
virtual WifiInformationElementId ElementId() const
Own unique Element ID.
uint32_t GetDistanceFrom(Iterator const &o) const
iterator in a Buffer instance
See 7.3.2.95 of 802.11s draft 2.07.
virtual void Print(std::ostream &os) const
In addition, a subclass may optionally override the following...
std::ostream & operator<<(std::ostream &os, const Angles &a)
virtual uint8_t DeserializeInformationField(Buffer::Iterator start, uint8_t length)
void WriteU8(uint8_t data)
uint8_t WifiInformationElementId
virtual void SerializeInformationField(Buffer::Iterator i) const
uint32_t ReadLsbtohU32(void)
void WriteHtolsbU32(uint32_t data)