A Discrete-Event Network Simulator
API
Public Member Functions | Private Attributes | Friends | List of all members
ns3::dot11s::IeMeshId Class Reference

a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012) More...

#include "ie-dot11s-id.h"

+ Inheritance diagram for ns3::dot11s::IeMeshId:

Public Member Functions

 IeMeshId ()
 
 IeMeshId (std::string s)
 Constructor. More...
 
virtual uint8_t DeserializeInformationField (Buffer::Iterator start, uint8_t length)
 Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More...
 
virtual WifiInformationElementId ElementId () const
 
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...
 
bool IsBroadcast (void) const
 Return true if broadcast (if first octet of Mesh ID is zero) More...
 
bool IsEqual (IeMeshId const &o) const
 Equality test. More...
 
char * PeekString (void) const
 Peek the IeMeshId as a string value. 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...
 
- 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...
 
virtual bool operator== (WifiInformationElement const &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)
 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

uint8_t m_meshId [33]
 mesh ID More...
 

Friends

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

Detailed Description

a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)

See also
IeMeshId Attribute

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

Constructor & Destructor Documentation

◆ IeMeshId() [1/2]

ns3::dot11s::IeMeshId::IeMeshId ( )

Definition at line 27 of file ie-dot11s-id.cc.

References m_meshId.

◆ IeMeshId() [2/2]

ns3::dot11s::IeMeshId::IeMeshId ( std::string  s)

Constructor.

Parameters
sreference id

Definition at line 34 of file ie-dot11s-id.cc.

References m_meshId, and NS_ASSERT.

Member Function Documentation

◆ DeserializeInformationField()

uint8_t ns3::dot11s::IeMeshId::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 107 of file ie-dot11s-id.cc.

References ns3::Buffer::Iterator::GetDistanceFrom(), m_meshId, NS_ASSERT, ns3::Buffer::Iterator::Read(), and visualizer.core::start().

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

◆ ElementId()

WifiInformationElementId ns3::dot11s::IeMeshId::ElementId ( ) const
virtual
Returns
Own unique Element ID

Implements ns3::WifiInformationElement.

Definition at line 53 of file ie-dot11s-id.cc.

References IE_MESH_ID.

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

◆ GetInformationFieldSize()

uint8_t ns3::dot11s::IeMeshId::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 86 of file ie-dot11s-id.cc.

References m_meshId, and NS_ASSERT.

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

◆ IsBroadcast()

bool ns3::dot11s::IeMeshId::IsBroadcast ( void  ) const

Return true if broadcast (if first octet of Mesh ID is zero)

Returns
true if broadcast

Definition at line 72 of file ie-dot11s-id.cc.

References m_meshId.

◆ IsEqual()

bool ns3::dot11s::IeMeshId::IsEqual ( IeMeshId const &  o) const

Equality test.

Parameters
oanother IeMeshId
Returns
true if equal

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

References m_meshId.

Referenced by ns3::dot11s::operator==(), and ns3::dot11s::PeerManagementProtocolMac::Receive().

◆ PeekString()

char * ns3::dot11s::IeMeshId::PeekString ( void  ) const

Peek the IeMeshId as a string value.

Returns
the mesh ID as a string

Definition at line 81 of file ie-dot11s-id.cc.

References m_meshId.

Referenced by Print().

◆ Print()

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

Generate human-readable form of IE.

Parameters
osoutput stream

Reimplemented from ns3::WifiInformationElement.

Definition at line 116 of file ie-dot11s-id.cc.

References PeekString().

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

◆ SerializeInformationField()

void ns3::dot11s::IeMeshId::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 97 of file ie-dot11s-id.cc.

References m_meshId, and ns3::Buffer::Iterator::WriteU8().

Friends And Related Function Documentation

◆ operator==

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

equality operator

Parameters
alhs
blhs
Returns
true if equal

Definition at line 121 of file ie-dot11s-id.cc.

Member Data Documentation

◆ m_meshId

uint8_t ns3::dot11s::IeMeshId::m_meshId[33]
private

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