A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 ()
 
uint8_t GetNeighborCount ()
 
bool IsAirtime ()
 
bool IsHWMP ()
 
Dot11sMeshCapability const & MeshCapability ()
 
void SetMetric (dot11sPathSelectionMetric metricId)
 
void SetNeighborCount (uint8_t neighbors)
 
void SetRouting (dot11sPathSelectionProtocol routingId)
 
Inherited from WifiInformationElement
virtual WifiInformationElementId ElementId () const
 Own unique Element ID. More...
 
virtual uint8_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...
 
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...
 
virtual uint8_t DeserializeInformationField (Buffer::Iterator i, uint8_t length)
 Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
virtual void Print (std::ostream &os) const
 In addition, a subclass may optionally override the following... More...
 
- Public Member Functions inherited from ns3::WifiInformationElement
virtual ~WifiInformationElement ()
 
Buffer::Iterator Deserialize (Buffer::Iterator i)
 Deserialize entire IE, which must be present. More...
 
Buffer::Iterator DeserializeIfPresent (Buffer::Iterator i)
 Deserialize entire IE if it is present. More...
 
uint16_t GetSerializedSize () const
 Get the size of the serialized IE including Element ID and length fields. More...
 
Buffer::Iterator Serialize (Buffer::Iterator i) const
 Serialize entire IE including Element ID and length fields. More...
 
virtual bool operator< (WifiInformationElement const &a) const
 Compare information elements using Element ID. More...
 
virtual bool operator== (WifiInformationElement const &a) const
 Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. More...
 
- Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
 SimpleRefCount ()
 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. 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
 
uint8_t m_neighbors
 
dot11sSynchronizationProtocolIdentifier m_SPId
 Sync protocol ID. More...
 

Friends

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

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement >
static void Cleanup (void)
 Noop. More...
 

Detailed Description

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

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

Constructor & Destructor Documentation

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

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

Member Function Documentation

uint8_t ns3::dot11s::IeConfiguration::DeserializeInformationField ( Buffer::Iterator  start,
uint8_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.
length
Returns
the number of bytes read

Implements ns3::WifiInformationElement.

Definition at line 137 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, NS_FATAL_ERROR, ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU8(), visualizer.core::start(), and conf::version.

Referenced by ns3::dot11s::PeerLinkFrameStart::Deserialize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

Own unique Element ID.

Implements ns3::WifiInformationElement.

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

References IE11S_MESH_CONFIGURATION.

Referenced by ns3::dot11s::PeerLinkFrameStart::Deserialize(), and Print().

+ Here is the caller graph for this function:

uint8_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)

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::PeerLinkFrameStart::Deserialize(), and ns3::dot11s::PeerLinkFrameStart::GetSerializedSize().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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

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

References m_neighbors.

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

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

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

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

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

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

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

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

References m_meshCap.

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

In addition, a subclass may optionally override the following...

Generate human-readable form of IE

Parameters
osoutput stream

Reimplemented from ns3::WifiInformationElement.

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

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

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

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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(), ns3::Buffer::Iterator::WriteHtolsbU32(), and ns3::Buffer::Iterator::WriteU8().

+ Here is the call graph for this function:

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

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

References m_APSMId.

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

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

References m_neighbors.

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

+ Here is the caller graph for this function:

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

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

References m_APSPId.

Friends And Related Function Documentation

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

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

Member Data Documentation

dot11sAuthenticationProtocol ns3::dot11s::IeConfiguration::m_APId
private
dot11sPathSelectionMetric ns3::dot11s::IeConfiguration::m_APSMId
private
dot11sPathSelectionProtocol ns3::dot11s::IeConfiguration::m_APSPId
private

Active Path Selection Protocol ID.

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

Referenced by DeserializeInformationField(), IsHWMP(), ns3::dot11s::operator==(), Print(), SerializeInformationField(), and SetRouting().

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

Congestion Control Mode ID.

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

Referenced by DeserializeInformationField(), ns3::dot11s::operator==(), Print(), and SerializeInformationField().

uint8_t ns3::dot11s::IeConfiguration::m_neighbors
private
dot11sSynchronizationProtocolIdentifier ns3::dot11s::IeConfiguration::m_SPId
private

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