Root announcement (RANN) element. More...
#include "ie-dot11s-rann.h"
Public Member Functions | |
IeRann () | |
~IeRann () override | |
void | DecrementTtl () |
Decrement TTL function. More... | |
uint16_t | DeserializeInformationField (Buffer::Iterator start, uint16_t length) override |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
WifiInformationElementId | ElementId () const override |
Get the wifi information element ID. More... | |
uint32_t | GetDestSeqNumber () const |
Get destination sequence number value. More... | |
uint8_t | GetFlags () const |
Get flags value. More... | |
uint8_t | GetHopcount () const |
Get hop count value. More... | |
uint16_t | GetInformationFieldSize () const override |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More... | |
uint32_t | GetMetric () const |
Get metric value. More... | |
Mac48Address | GetOriginatorAddress () |
Get originator address value. More... | |
uint8_t | GetTtl () const |
Get TTL value. More... | |
void | IncrementMetric (uint32_t metric) |
Increment metric. More... | |
void | Print (std::ostream &os) const override |
Generate human-readable form of IE. More... | |
void | SerializeInformationField (Buffer::Iterator i) const override |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
void | SetDestSeqNumber (uint32_t dest_seq_number) |
Set destination sequence number value. More... | |
void | SetFlags (uint8_t flags) |
Set flags field. More... | |
void | SetHopcount (uint8_t hopcount) |
Set hop count value to number of hops from the originating root mesh STA to the mesh STA transmitting this element. More... | |
void | SetMetric (uint32_t metric) |
Set metric value to cumulative metric from originating root mesh STA to the mesh STA transmitting the announcement. More... | |
void | SetOriginatorAddress (Mac48Address originator_address) |
Set originator address value. More... | |
void | SetTTL (uint8_t ttl) |
Set TTL value to the remaining number of hops allowed. More... | |
Public Member Functions inherited from ns3::WifiInformationElement | |
virtual | ~WifiInformationElement () |
Buffer::Iterator | Deserialize (Buffer::Iterator i) |
Deserialize entire IE (which may possibly be fragmented into multiple elements), which must be present. More... | |
Buffer::Iterator | DeserializeIfPresent (Buffer::Iterator i) |
Deserialize entire IE (which may possibly be fragmented into multiple elements) if it is present. More... | |
virtual WifiInformationElementId | ElementIdExt () const |
Get the wifi information element ID extension. More... | |
uint16_t | GetSerializedSize () const |
Get the size of the serialized IE including Element ID and length fields (for every element this IE is possibly fragmented into). More... | |
virtual bool | operator== (const WifiInformationElement &a) const |
Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. More... | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
Private Attributes | |
uint32_t | m_destSeqNumber |
destination sequence number More... | |
uint8_t | m_flags |
flags More... | |
uint8_t | m_hopcount |
hop count More... | |
uint32_t | m_metric |
metric More... | |
Mac48Address | m_originatorAddress |
originator address More... | |
uint8_t | m_ttl |
TTL. More... | |
Friends | |
bool | operator== (const IeRann &a, const IeRann &b) |
equality operator More... | |
Root announcement (RANN) element.
Definition at line 34 of file ie-dot11s-rann.h.
ns3::dot11s::IeRann::IeRann | ( | ) |
Definition at line 35 of file ie-dot11s-rann.cc.
|
override |
Definition at line 31 of file ie-dot11s-rann.cc.
void ns3::dot11s::IeRann::DecrementTtl | ( | ) |
Decrement TTL function.
Definition at line 118 of file ie-dot11s-rann.cc.
References m_hopcount, and m_ttl.
|
overridevirtual |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
length | the expected number of bytes to read |
Implements ns3::WifiInformationElement.
Definition at line 148 of file ie-dot11s-rann.cc.
References ns3::Buffer::Iterator::GetDistanceFrom(), m_destSeqNumber, m_flags, m_hopcount, m_metric, m_originatorAddress, m_ttl, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU8(), and two-ray-to-three-gpp-ch-calibration::start.
|
overridevirtual |
Get the wifi information element ID.
Implements ns3::WifiInformationElement.
Definition at line 46 of file ie-dot11s-rann.cc.
References IE_RANN.
uint32_t ns3::dot11s::IeRann::GetDestSeqNumber | ( | ) | const |
Get destination sequence number value.
Definition at line 106 of file ie-dot11s-rann.cc.
References m_destSeqNumber.
uint8_t ns3::dot11s::IeRann::GetFlags | ( | ) | const |
Get flags value.
Definition at line 88 of file ie-dot11s-rann.cc.
References m_flags.
uint8_t ns3::dot11s::IeRann::GetHopcount | ( | ) | const |
Get hop count value.
Definition at line 94 of file ie-dot11s-rann.cc.
References m_hopcount.
|
overridevirtual |
Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets.
This is the value that will appear in the second octet of the entire IE - the length field - if the IE is not fragmented)
Implements ns3::WifiInformationElement.
Definition at line 161 of file ie-dot11s-rann.cc.
uint32_t ns3::dot11s::IeRann::GetMetric | ( | ) | const |
Get metric value.
Definition at line 112 of file ie-dot11s-rann.cc.
References m_metric.
Mac48Address ns3::dot11s::IeRann::GetOriginatorAddress | ( | ) |
Get originator address value.
Definition at line 131 of file ie-dot11s-rann.cc.
References m_originatorAddress.
uint8_t ns3::dot11s::IeRann::GetTtl | ( | ) | const |
void ns3::dot11s::IeRann::IncrementMetric | ( | uint32_t | metric | ) |
Increment metric.
metric | the value to increment |
Definition at line 125 of file ie-dot11s-rann.cc.
References two-ray-to-three-gpp-ch-calibration::m, and m_metric.
|
overridevirtual |
Generate human-readable form of IE.
os | output stream |
Reimplemented from ns3::WifiInformationElement.
Definition at line 173 of file ie-dot11s-rann.cc.
References m_destSeqNumber, m_flags, m_hopcount, m_metric, m_originatorAddress, and m_ttl.
Referenced by ns3::dot11s::operator<<().
|
overridevirtual |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
Implements ns3::WifiInformationElement.
Definition at line 137 of file ie-dot11s-rann.cc.
References m_destSeqNumber, m_flags, m_hopcount, m_metric, m_originatorAddress, m_ttl, ns3::Buffer::Iterator::WriteHtolsbU32(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().
void ns3::dot11s::IeRann::SetDestSeqNumber | ( | uint32_t | dest_seq_number | ) |
Set destination sequence number value.
dest_seq_number | the destination sequence number |
Definition at line 70 of file ie-dot11s-rann.cc.
References m_destSeqNumber.
void ns3::dot11s::IeRann::SetFlags | ( | uint8_t | flags | ) |
Set flags field.
flags | the flags value to set |
Definition at line 52 of file ie-dot11s-rann.cc.
References m_flags.
void ns3::dot11s::IeRann::SetHopcount | ( | uint8_t | hopcount | ) |
Set hop count value to number of hops from the originating root mesh STA to the mesh STA transmitting this element.
hopcount | the hop count |
Definition at line 58 of file ie-dot11s-rann.cc.
References m_hopcount.
void ns3::dot11s::IeRann::SetMetric | ( | uint32_t | metric | ) |
Set metric value to cumulative metric from originating root mesh STA to the mesh STA transmitting the announcement.
metric | the metric to set |
Definition at line 76 of file ie-dot11s-rann.cc.
References m_metric.
void ns3::dot11s::IeRann::SetOriginatorAddress | ( | Mac48Address | originator_address | ) |
Set originator address value.
originator_address | the originator MAC address |
Definition at line 82 of file ie-dot11s-rann.cc.
References m_originatorAddress.
void ns3::dot11s::IeRann::SetTTL | ( | uint8_t | ttl | ) |
Set TTL value to the remaining number of hops allowed.
ttl | the TTL |
Definition at line 64 of file ie-dot11s-rann.cc.
References m_ttl.
equality operator
a | lhs |
b | rhs |
Definition at line 181 of file ie-dot11s-rann.cc.
|
private |
destination sequence number
Definition at line 121 of file ie-dot11s-rann.h.
Referenced by DeserializeInformationField(), GetDestSeqNumber(), Print(), SerializeInformationField(), and SetDestSeqNumber().
|
private |
flags
Definition at line 117 of file ie-dot11s-rann.h.
Referenced by DeserializeInformationField(), GetFlags(), Print(), SerializeInformationField(), and SetFlags().
|
private |
hop count
Definition at line 118 of file ie-dot11s-rann.h.
Referenced by DecrementTtl(), DeserializeInformationField(), GetHopcount(), Print(), SerializeInformationField(), and SetHopcount().
|
private |
metric
Definition at line 122 of file ie-dot11s-rann.h.
Referenced by DeserializeInformationField(), GetMetric(), IncrementMetric(), Print(), SerializeInformationField(), and SetMetric().
|
private |
originator address
Definition at line 120 of file ie-dot11s-rann.h.
Referenced by DeserializeInformationField(), GetOriginatorAddress(), Print(), SerializeInformationField(), and SetOriginatorAddress().
|
private |
TTL.
Definition at line 119 of file ie-dot11s-rann.h.
Referenced by DecrementTtl(), DeserializeInformationField(), GetTtl(), Print(), SerializeInformationField(), and SetTTL().