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

See 7.3.2.98 of 802.11s draft 2.07. More...

#include "ie-dot11s-perr.h"

+ Inheritance diagram for ns3::dot11s::IePerr:

Public Member Functions

 IePerr ()
 
 ~IePerr ()
 
void AddAddressUnit (HwmpProtocol::FailedDestination unit)
 Add address unit function. More...
 
void DeleteAddressUnit (Mac48Address address)
 Delete address unit function. 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
 
std::vector< HwmpProtocol::FailedDestinationGetAddressUnitVector () const
 Get address unit vector function. 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...
 
uint8_t GetNumOfDest () const
 Get number of destination function. More...
 
bool IsFull () const
 Is full function. More...
 
virtual void Print (std::ostream &os) const
 Generate human-readable form of IE. More...
 
void ResetPerr ()
 Reset PERR. 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

std::vector< HwmpProtocol::FailedDestinationm_addressUnits
 address units More...
 

Friends

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

Detailed Description

See 7.3.2.98 of 802.11s draft 2.07.

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

Constructor & Destructor Documentation

◆ IePerr()

ns3::dot11s::IePerr::IePerr ( )

Definition at line 26 of file ie-dot11s-perr.cc.

◆ ~IePerr()

ns3::dot11s::IePerr::~IePerr ( )

Definition at line 29 of file ie-dot11s-perr.cc.

Member Function Documentation

◆ AddAddressUnit()

void ns3::dot11s::IePerr::AddAddressUnit ( HwmpProtocol::FailedDestination  unit)

Add address unit function.

Parameters
unitthe address of the failed destination

Definition at line 99 of file ie-dot11s-perr.cc.

References ns3::dot11s::HwmpProtocol::FailedDestination::destination, and m_addressUnits.

Referenced by MeshInformationElementVectorBist::DoRun().

◆ DeleteAddressUnit()

void ns3::dot11s::IePerr::DeleteAddressUnit ( Mac48Address  address)

Delete address unit function.

Parameters
addressthe MAC address of the deleted unit

Definition at line 130 of file ie-dot11s-perr.cc.

References first::address, and m_addressUnits.

◆ DeserializeInformationField()

uint8_t ns3::dot11s::IePerr::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 68 of file ie-dot11s-perr.cc.

References ns3::dot11s::HwmpProtocol::FailedDestination::destination, ns3::Buffer::Iterator::GetDistanceFrom(), m_addressUnits, ns3::Buffer::Iterator::Next(), NS_ABORT_UNLESS, ns3::ReadFrom(), ns3::Buffer::Iterator::ReadLsbtohU32(), ns3::Buffer::Iterator::ReadU8(), ns3::dot11s::HwmpProtocol::FailedDestination::seqnum, and visualizer.core::start().

◆ ElementId()

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

Implements ns3::WifiInformationElement.

Definition at line 33 of file ie-dot11s-perr.cc.

References IE_PERR.

◆ GetAddressUnitVector()

std::vector< HwmpProtocol::FailedDestination > ns3::dot11s::IePerr::GetAddressUnitVector ( ) const

Get address unit vector function.

Returns
the list of failed destinations

Definition at line 125 of file ie-dot11s-perr.cc.

References m_addressUnits.

◆ GetInformationFieldSize()

uint8_t ns3::dot11s::IePerr::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 88 of file ie-dot11s-perr.cc.

References m_addressUnits.

Referenced by IsFull().

◆ GetNumOfDest()

uint8_t ns3::dot11s::IePerr::GetNumOfDest ( ) const

Get number of destination function.

Returns
the number of destinations

Definition at line 49 of file ie-dot11s-perr.cc.

References m_addressUnits.

◆ IsFull()

bool ns3::dot11s::IePerr::IsFull ( ) const

Is full function.

Returns
true if full

Definition at line 115 of file ie-dot11s-perr.cc.

References GetInformationFieldSize().

◆ Print()

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

Generate human-readable form of IE.

Parameters
osoutput stream

Reimplemented from ns3::WifiInformationElement.

Definition at line 38 of file ie-dot11s-perr.cc.

References m_addressUnits.

Referenced by ns3::dot11s::operator<<().

◆ ResetPerr()

void ns3::dot11s::IePerr::ResetPerr ( )

Reset PERR.

Definition at line 143 of file ie-dot11s-perr.cc.

References m_addressUnits.

◆ SerializeInformationField()

void ns3::dot11s::IePerr::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 54 of file ie-dot11s-perr.cc.

References m_addressUnits, ns3::Buffer::Iterator::WriteHtolsbU32(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().

Friends And Related Function Documentation

◆ operator==

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

equality operator

Parameters
alhs
brhs
Returns
true if equal

Definition at line 148 of file ie-dot11s-perr.cc.

Member Data Documentation

◆ m_addressUnits

std::vector<HwmpProtocol::FailedDestination> ns3::dot11s::IePerr::m_addressUnits
private

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