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 ()
 
uint16_t DeserializeInformationField (Buffer::Iterator i, 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...
 
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...
 
uint8_t GetNeighborCount () const
 Get neighbor count. More...
 
bool IsAirtime ()
 Is airtime function. More...
 
bool IsHWMP ()
 Is HWMP function. More...
 
const Dot11sMeshCapabilityMeshCapability ()
 Mesh capability. 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 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...
 
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

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

Detailed Description

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

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

Constructor & Destructor Documentation

◆ IeConfiguration()

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

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

Member Function Documentation

◆ DeserializeInformationField()

uint16_t ns3::dot11s::IeConfiguration::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 160 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 two-ray-to-three-gpp-ch-calibration::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
overridevirtual

Get the wifi information element ID.

Returns
the wifi information element ID

Implements ns3::WifiInformationElement.

Definition at line 114 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
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 130 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 ( ) const

Get neighbor count.

Returns
the the neighbor count

Definition at line 220 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 208 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 202 of file ie-dot11s-configuration.cc.

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

◆ MeshCapability()

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

Mesh capability.

Returns
the dot11s mesh capability

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

References m_meshCap.

◆ Print()

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

Generate human-readable form of IE.

Parameters
osoutput stream

Reimplemented from ns3::WifiInformationElement.

Definition at line 177 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
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 143 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 196 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 214 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 190 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 241 of file ie-dot11s-configuration.cc.

Member Data Documentation

◆ m_APId

Dot11sAuthenticationProtocol ns3::dot11s::IeConfiguration::m_APId
private

Auth protocol ID.

Definition at line 188 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 182 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 180 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 184 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 186 of file ie-dot11s-configuration.h.

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


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