A Discrete-Event Network Simulator
API
ns3::dot11s::IeRann Class Reference

Root announcement (RANN) element. More...

#include "ie-dot11s-rann.h"

+ Inheritance diagram for ns3::dot11s::IeRann:
+ Collaboration diagram for ns3::dot11s::IeRann:

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...
 
SimpleRefCountoperator= (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...
 

Detailed Description

Root announcement (RANN) element.

Definition at line 34 of file ie-dot11s-rann.h.

Constructor & Destructor Documentation

◆ IeRann()

ns3::dot11s::IeRann::IeRann ( )

Definition at line 35 of file ie-dot11s-rann.cc.

◆ ~IeRann()

ns3::dot11s::IeRann::~IeRann ( )
override

Definition at line 31 of file ie-dot11s-rann.cc.

Member Function Documentation

◆ DecrementTtl()

void ns3::dot11s::IeRann::DecrementTtl ( )

Decrement TTL function.

Definition at line 118 of file ie-dot11s-rann.cc.

References m_hopcount, and m_ttl.

◆ DeserializeInformationField()

uint16_t ns3::dot11s::IeRann::DeserializeInformationField ( Buffer::Iterator  start,
uint16_t  length 
)
overridevirtual

Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)

Parameters
startan iterator which points to where the information should be written.
lengththe expected number of bytes to read
Returns
the number of bytes 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.

+ Here is the call graph for this function:

◆ ElementId()

WifiInformationElementId ns3::dot11s::IeRann::ElementId ( ) const
overridevirtual

Get the wifi information element ID.

Returns
the wifi information element ID

Implements ns3::WifiInformationElement.

Definition at line 46 of file ie-dot11s-rann.cc.

References IE_RANN.

◆ GetDestSeqNumber()

uint32_t ns3::dot11s::IeRann::GetDestSeqNumber ( ) const

Get destination sequence number value.

Returns
the destination sequence number

Definition at line 106 of file ie-dot11s-rann.cc.

References m_destSeqNumber.

◆ GetFlags()

uint8_t ns3::dot11s::IeRann::GetFlags ( ) const

Get flags value.

Returns
the flags

Definition at line 88 of file ie-dot11s-rann.cc.

References m_flags.

◆ GetHopcount()

uint8_t ns3::dot11s::IeRann::GetHopcount ( ) const

Get hop count value.

Returns
the hop count

Definition at line 94 of file ie-dot11s-rann.cc.

References m_hopcount.

◆ GetInformationFieldSize()

uint16_t ns3::dot11s::IeRann::GetInformationFieldSize ( ) const
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)

Returns
the length of serialized information

Implements ns3::WifiInformationElement.

Definition at line 161 of file ie-dot11s-rann.cc.

◆ GetMetric()

uint32_t ns3::dot11s::IeRann::GetMetric ( ) const

Get metric value.

Returns
the metric

Definition at line 112 of file ie-dot11s-rann.cc.

References m_metric.

◆ GetOriginatorAddress()

Mac48Address ns3::dot11s::IeRann::GetOriginatorAddress ( )

Get originator address value.

Returns
the MAC address of the originator

Definition at line 131 of file ie-dot11s-rann.cc.

References m_originatorAddress.

◆ GetTtl()

uint8_t ns3::dot11s::IeRann::GetTtl ( ) const

Get TTL value.

Returns
the TTL

Definition at line 100 of file ie-dot11s-rann.cc.

References m_ttl.

◆ IncrementMetric()

void ns3::dot11s::IeRann::IncrementMetric ( uint32_t  metric)

Increment metric.

Parameters
metricthe 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.

◆ Print()

void ns3::dot11s::IeRann::Print ( std::ostream &  os) const
overridevirtual

Generate human-readable form of IE.

Parameters
osoutput 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<<().

+ Here is the caller graph for this function:

◆ SerializeInformationField()

void ns3::dot11s::IeRann::SerializeInformationField ( Buffer::Iterator  start) const
overridevirtual

Serialize information (i.e., the body of the IE, not including the Element ID and length octets)

Parameters
startan 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().

+ Here is the call graph for this function:

◆ SetDestSeqNumber()

void ns3::dot11s::IeRann::SetDestSeqNumber ( uint32_t  dest_seq_number)

Set destination sequence number value.

Parameters
dest_seq_numberthe destination sequence number

Definition at line 70 of file ie-dot11s-rann.cc.

References m_destSeqNumber.

◆ SetFlags()

void ns3::dot11s::IeRann::SetFlags ( uint8_t  flags)

Set flags field.

Parameters
flagsthe flags value to set

Definition at line 52 of file ie-dot11s-rann.cc.

References m_flags.

◆ SetHopcount()

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.

Parameters
hopcountthe hop count

Definition at line 58 of file ie-dot11s-rann.cc.

References m_hopcount.

◆ SetMetric()

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.

Parameters
metricthe metric to set

Definition at line 76 of file ie-dot11s-rann.cc.

References m_metric.

◆ SetOriginatorAddress()

void ns3::dot11s::IeRann::SetOriginatorAddress ( Mac48Address  originator_address)

Set originator address value.

Parameters
originator_addressthe originator MAC address

Definition at line 82 of file ie-dot11s-rann.cc.

References m_originatorAddress.

◆ SetTTL()

void ns3::dot11s::IeRann::SetTTL ( uint8_t  ttl)

Set TTL value to the remaining number of hops allowed.

Parameters
ttlthe TTL

Definition at line 64 of file ie-dot11s-rann.cc.

References m_ttl.

Friends And Related Function Documentation

◆ operator==

bool operator== ( const IeRann a,
const IeRann b 
)
friend

equality operator

Parameters
alhs
brhs
Returns
true if equal

Definition at line 181 of file ie-dot11s-rann.cc.

Member Data Documentation

◆ m_destSeqNumber

uint32_t ns3::dot11s::IeRann::m_destSeqNumber
private

destination sequence number

Definition at line 121 of file ie-dot11s-rann.h.

Referenced by DeserializeInformationField(), GetDestSeqNumber(), Print(), SerializeInformationField(), and SetDestSeqNumber().

◆ m_flags

uint8_t ns3::dot11s::IeRann::m_flags
private

◆ m_hopcount

uint8_t ns3::dot11s::IeRann::m_hopcount
private

◆ m_metric

uint32_t ns3::dot11s::IeRann::m_metric
private

◆ m_originatorAddress

Mac48Address ns3::dot11s::IeRann::m_originatorAddress
private

◆ m_ttl

uint8_t ns3::dot11s::IeRann::m_ttl
private

The documentation for this class was generated from the following files: