See 7.3.2.98 of 802.11s draft 2.07. More...
#include "ie-dot11s-perr.h"
Public Member Functions | |
IePerr () | |
~IePerr () override | |
void | AddAddressUnit (HwmpProtocol::FailedDestination unit) |
Add address unit function. | |
void | DeleteAddressUnit (Mac48Address address) |
Delete address unit function. | |
uint16_t | DeserializeInformationField (Buffer::Iterator start, uint16_t length) override |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) | |
WifiInformationElementId | ElementId () const override |
Get the wifi information element ID. | |
std::vector< HwmpProtocol::FailedDestination > | GetAddressUnitVector () const |
Get address unit vector function. | |
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. | |
uint8_t | GetNumOfDest () const |
Get number of destination function. | |
bool | IsFull () const |
Is full function. | |
void | Print (std::ostream &os) const override |
Generate human-readable form of IE. | |
void | ResetPerr () |
Reset PERR. | |
void | SerializeInformationField (Buffer::Iterator i) const override |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) | |
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. | |
Buffer::Iterator | DeserializeIfPresent (Buffer::Iterator i) |
Deserialize entire IE (which may possibly be fragmented into multiple elements) if it is present. | |
virtual WifiInformationElementId | ElementIdExt () const |
Get the wifi information element ID extension. | |
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). | |
virtual bool | operator== (const WifiInformationElement &a) const |
Compare two IEs for equality by ID & Length, and then through memcmp of serialised version. | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount () | |
Default constructor. | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. | |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
Assignment operator. | |
void | Ref () const |
Increment the reference count. | |
void | Unref () const |
Decrement the reference count. | |
Private Attributes | |
std::vector< HwmpProtocol::FailedDestination > | m_addressUnits |
address units | |
Friends | |
bool | operator== (const IePerr &a, const IePerr &b) |
equality operator | |
See 7.3.2.98 of 802.11s draft 2.07.
Definition at line 25 of file ie-dot11s-perr.h.
ns3::dot11s::IePerr::IePerr | ( | ) |
Definition at line 18 of file ie-dot11s-perr.cc.
|
override |
Definition at line 22 of file ie-dot11s-perr.cc.
void ns3::dot11s::IePerr::AddAddressUnit | ( | HwmpProtocol::FailedDestination | unit | ) |
Add address unit function.
unit | the address of the failed destination |
Definition at line 97 of file ie-dot11s-perr.cc.
References ns3::dot11s::HwmpProtocol::FailedDestination::destination, and m_addressUnits.
void ns3::dot11s::IePerr::DeleteAddressUnit | ( | Mac48Address | address | ) |
Delete address unit function.
address | the MAC address of the deleted unit |
Definition at line 130 of file ie-dot11s-perr.cc.
References m_addressUnits.
|
overridevirtual |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
length | the expected number of bytes to read |
Implements ns3::WifiInformationElement.
Definition at line 67 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(), and ns3::dot11s::HwmpProtocol::FailedDestination::seqnum.
|
overridevirtual |
Get the wifi information element ID.
Implements ns3::WifiInformationElement.
Definition at line 27 of file ie-dot11s-perr.cc.
References IE_PERR.
std::vector< HwmpProtocol::FailedDestination > ns3::dot11s::IePerr::GetAddressUnitVector | ( | ) | const |
Get address unit vector function.
Definition at line 124 of file ie-dot11s-perr.cc.
References m_addressUnits.
|
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)
Implements ns3::WifiInformationElement.
Definition at line 87 of file ie-dot11s-perr.cc.
References m_addressUnits.
Referenced by IsFull().
uint8_t ns3::dot11s::IePerr::GetNumOfDest | ( | ) | const |
Get number of destination function.
Definition at line 45 of file ie-dot11s-perr.cc.
References m_addressUnits.
bool ns3::dot11s::IePerr::IsFull | ( | ) | const |
Is full function.
Definition at line 114 of file ie-dot11s-perr.cc.
References GetInformationFieldSize().
|
overridevirtual |
Generate human-readable form of IE.
os | output stream |
Reimplemented from ns3::WifiInformationElement.
Definition at line 33 of file ie-dot11s-perr.cc.
References m_addressUnits.
Referenced by ns3::dot11s::operator<<().
void ns3::dot11s::IePerr::ResetPerr | ( | ) |
|
overridevirtual |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets)
start | an iterator which points to where the information should be written. |
Implements ns3::WifiInformationElement.
Definition at line 51 of file ie-dot11s-perr.cc.
References m_addressUnits, ns3::Buffer::Iterator::WriteHtolsbU32(), ns3::WriteTo(), and ns3::Buffer::Iterator::WriteU8().
equality operator
a | lhs |
b | rhs |
Definition at line 149 of file ie-dot11s-perr.cc.
|
private |
address units
Definition at line 66 of file ie-dot11s-perr.h.
Referenced by AddAddressUnit(), DeleteAddressUnit(), DeserializeInformationField(), GetAddressUnitVector(), GetInformationFieldSize(), GetNumOfDest(), Print(), ResetPerr(), and SerializeInformationField().