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

Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0. More...

#include "ie-dot11s-configuration.h"

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

Public Member Functions

 IeConfiguration ()
 
virtual uint16_t DeserializeInformationField (Buffer::Iterator i, uint16_t length)
 Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
virtual WifiInformationElementId ElementId () const
 Get the wifi information element ID. More...
 
virtual uint16_t GetInformationFieldSize () const
 Length of serialized information (i.e., the length of the body of the IE, not including the Element ID and length octets. More...
 
uint8_t GetNeighborCount ()
 Get neighbor count. More...
 
bool IsAirtime ()
 Is airtime function. More...
 
bool IsHWMP ()
 Is HWMP function. More...
 
Dot11sMeshCapability const & MeshCapability ()
 Mesh capability. More...
 
virtual void Print (std::ostream &os) const
 Generate human-readable form of IE. More...
 
virtual void SerializeInformationField (Buffer::Iterator i) const
 Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
void SetMetric (dot11sPathSelectionMetric metricId)
 Set metric value. More...
 
void SetNeighborCount (uint8_t neighbors)
 Set neighbor count. More...
 
void SetRouting (dot11sPathSelectionProtocol routingId)
 Set routing value. 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...
 
virtual WifiInformationElementId ElementId () const =0
 Get the wifi information element ID. 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== (WifiInformationElement const &a) const
 Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. More...
 
virtual void Print (std::ostream &os) const
 Generate human-readable form of IE. 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)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment operator. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

Private Attributes

dot11sAuthenticationProtocol m_APId
 Auth protocol ID. More...
 
dot11sPathSelectionMetric m_APSMId
 Active Path Metric ID. More...
 
dot11sPathSelectionProtocol m_APSPId
 Active Path Selection Protocol ID. More...
 
dot11sCongestionControlMode m_CCMId
 Congestion Control Mode ID. More...
 
Dot11sMeshCapability m_meshCap
 Mesh capability. More...
 
uint8_t m_neighbors
 neighbors More...
 
dot11sSynchronizationProtocolIdentifier m_SPId
 Sync protocol ID. More...
 

Friends

bool operator== (const IeConfiguration &a, const IeConfiguration &b)
 equality operator More...
 

Additional Inherited Members

- Static Public Member Functions inherited from ns3::WifiInformationElement
template<typename IE , typename... Args>
static Buffer::Iterator DeserializeIfPresent (std::optional< IE > &optElem, Buffer::Iterator i, Args &&... args)
 Deserialize an entire IE (which may possibly be fragmented into multiple elements) that is optionally present. More...
 

Detailed Description

Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.

Definition at line 127 of file ie-dot11s-configuration.h.

Constructor & Destructor Documentation

◆ IeConfiguration()

ns3::dot11s::IeConfiguration::IeConfiguration ( )

Definition at line 102 of file ie-dot11s-configuration.cc.

Member Function Documentation

◆ DeserializeInformationField()

uint16_t ns3::dot11s::IeConfiguration::DeserializeInformationField ( Buffer::Iterator  start,
uint16_t  length 
)
virtual

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 136 of file ie-dot11s-configuration.cc.

References ns3::dot11s::Dot11sMeshCapability::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_APId, m_APSMId, m_APSPId, m_CCMId, m_meshCap, m_neighbors, m_SPId, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().

Referenced by ns3::dot11s::PeerLinkOpenStart::Deserialize(), and ns3::dot11s::PeerLinkConfirmStart::Deserialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ElementId()

WifiInformationElementId ns3::dot11s::IeConfiguration::ElementId ( ) const
virtual

Get the wifi information element ID.

Returns
the wifi information element ID

Implements ns3::WifiInformationElement.

Definition at line 97 of file ie-dot11s-configuration.cc.

References IE_MESH_CONFIGURATION.

Referenced by ns3::dot11s::PeerLinkOpenStart::Deserialize(), and ns3::dot11s::PeerLinkConfirmStart::Deserialize().

+ Here is the caller graph for this function:

◆ GetInformationFieldSize()

uint16_t ns3::dot11s::IeConfiguration::GetInformationFieldSize ( ) const
virtual

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 108 of file ie-dot11s-configuration.cc.

References ns3::dot11s::Dot11sMeshCapability::GetSerializedSize(), and m_meshCap.

Referenced by ns3::dot11s::PeerLinkOpenStart::Deserialize(), ns3::dot11s::PeerLinkConfirmStart::Deserialize(), ns3::dot11s::PeerLinkOpenStart::GetSerializedSize(), and ns3::dot11s::PeerLinkConfirmStart::GetSerializedSize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetNeighborCount()

uint8_t ns3::dot11s::IeConfiguration::GetNeighborCount ( )

Get neighbor count.

Returns
the the neighbor count

Definition at line 189 of file ie-dot11s-configuration.cc.

References m_neighbors.

◆ IsAirtime()

bool ns3::dot11s::IeConfiguration::IsAirtime ( )

Is airtime function.

Returns
true if Active Path Selection Metric Identifier is set to airtime link metric

Definition at line 179 of file ie-dot11s-configuration.cc.

References m_APSMId, and ns3::dot11s::METRIC_AIRTIME.

◆ IsHWMP()

bool ns3::dot11s::IeConfiguration::IsHWMP ( )

Is HWMP function.

Returns
true if Active Path Selection Protocol Identifier field set to HWMP

Definition at line 174 of file ie-dot11s-configuration.cc.

References m_APSPId, and ns3::dot11s::PROTOCOL_HWMP.

◆ MeshCapability()

Dot11sMeshCapability const & ns3::dot11s::IeConfiguration::MeshCapability ( )

Mesh capability.

Returns
the dot11s mesh capability

Definition at line 194 of file ie-dot11s-configuration.cc.

References m_meshCap.

◆ Print()

void ns3::dot11s::IeConfiguration::Print ( std::ostream &  os) const
virtual

Generate human-readable form of IE.

Parameters
osoutput stream

Reimplemented from ns3::WifiInformationElement.

Definition at line 152 of file ie-dot11s-configuration.cc.

References ns3::dot11s::Dot11sMeshCapability::GetUint8(), m_APId, m_APSMId, m_APSPId, m_CCMId, m_meshCap, m_neighbors, and m_SPId.

Referenced by ns3::dot11s::operator<<(), ns3::dot11s::PeerLinkOpenStart::Print(), and ns3::dot11s::PeerLinkConfirmStart::Print().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeInformationField()

void ns3::dot11s::IeConfiguration::SerializeInformationField ( Buffer::Iterator  start) const
virtual

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 120 of file ie-dot11s-configuration.cc.

References m_APId, m_APSMId, m_APSPId, m_CCMId, m_meshCap, m_neighbors, m_SPId, ns3::dot11s::Dot11sMeshCapability::Serialize(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

◆ SetMetric()

void ns3::dot11s::IeConfiguration::SetMetric ( dot11sPathSelectionMetric  metricId)

Set metric value.

Parameters
metricIdthe path selection metric

Definition at line 169 of file ie-dot11s-configuration.cc.

References m_APSMId.

◆ SetNeighborCount()

void ns3::dot11s::IeConfiguration::SetNeighborCount ( uint8_t  neighbors)

Set neighbor count.

Parameters
neighborsthe number of neighbors

Definition at line 184 of file ie-dot11s-configuration.cc.

References m_neighbors.

Referenced by ns3::dot11s::PeerManagementProtocolMac::SendPeerLinkManagementFrame().

+ Here is the caller graph for this function:

◆ SetRouting()

void ns3::dot11s::IeConfiguration::SetRouting ( dot11sPathSelectionProtocol  routingId)

Set routing value.

Parameters
routingIdthe routing ID

Definition at line 164 of file ie-dot11s-configuration.cc.

References m_APSPId.

Friends And Related Function Documentation

◆ operator==

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

equality operator

Parameters
alhs
brhs
Returns
true if equal

Definition at line 206 of file ie-dot11s-configuration.cc.

Member Data Documentation

◆ m_APId

dot11sAuthenticationProtocol ns3::dot11s::IeConfiguration::m_APId
private

Auth protocol ID.

Definition at line 186 of file ie-dot11s-configuration.h.

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

◆ m_APSMId

dot11sPathSelectionMetric ns3::dot11s::IeConfiguration::m_APSMId
private

Active Path Metric ID.

Definition at line 180 of file ie-dot11s-configuration.h.

Referenced by DeserializeInformationField(), IsAirtime(), Print(), SerializeInformationField(), and SetMetric().

◆ m_APSPId

dot11sPathSelectionProtocol ns3::dot11s::IeConfiguration::m_APSPId
private

Active Path Selection Protocol ID.

Definition at line 178 of file ie-dot11s-configuration.h.

Referenced by DeserializeInformationField(), IsHWMP(), Print(), SerializeInformationField(), and SetRouting().

◆ m_CCMId

dot11sCongestionControlMode ns3::dot11s::IeConfiguration::m_CCMId
private

Congestion Control Mode ID.

Definition at line 182 of file ie-dot11s-configuration.h.

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

◆ m_meshCap

Dot11sMeshCapability ns3::dot11s::IeConfiguration::m_meshCap
private

◆ m_neighbors

uint8_t ns3::dot11s::IeConfiguration::m_neighbors
private

◆ m_SPId

dot11sSynchronizationProtocolIdentifier ns3::dot11s::IeConfiguration::m_SPId
private

Sync protocol ID.

Definition at line 184 of file ie-dot11s-configuration.h.

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


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