The ErpInformation Information ElementThis class knows how to serialise and deserialise the ErpInformation Information Element. More...
#include "erp-information.h"
Public Member Functions | |
ErpInformation () | |
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... | |
WifiInformationElementId | ElementId () const |
Own unique Element ID. More... | |
uint8_t | GetBarkerPreambleMode (void) const |
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 | GetNonErpPresent (void) const |
uint16_t | GetSerializedSize () const |
Return the serialized size of this ErpInformation information element. More... | |
uint8_t | GetUseProtection (void) const |
Buffer::Iterator | Serialize (Buffer::Iterator start) const |
This information element is a bit special in that it is only included if the STA is an ERP STA. More... | |
void | SerializeInformationField (Buffer::Iterator start) const |
Serialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
void | SetBarkerPreambleMode (uint8_t barkerPreambleMode) |
Set the Barker_Preamble_Mode field in the ErpInformation information element. More... | |
void | SetErpSupported (uint8_t erpSupported) |
void | SetNonErpPresent (uint8_t nonErpPresent) |
Set the Non_Erp_Present field in the ErpInformation information element. More... | |
void | SetUseProtection (uint8_t useProtection) |
Set the Use_Protection field in the ErpInformation information element. More... | |
![]() | |
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 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... | |
virtual void | Print (std::ostream &os) const |
Generate human-readable form of IE. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator i) const |
Serialize entire IE including Element ID and length fields. More... | |
![]() | |
SimpleRefCount () | |
Constructor. More... | |
SimpleRefCount (const SimpleRefCount &o) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (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 | |
uint8_t | m_erpInformation |
bool | m_erpSupported |
Additional Inherited Members | |
![]() | |
static void | Cleanup (void) |
Noop. More... | |
The ErpInformation Information Element
This class knows how to serialise and deserialise the ErpInformation Information Element.
Definition at line 37 of file erp-information.h.
ns3::ErpInformation::ErpInformation | ( | ) |
Definition at line 29 of file erp-information.cc.
|
virtual |
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 |
Implements ns3::WifiInformationElement.
Definition at line 120 of file erp-information.cc.
References m_erpInformation, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
|
virtual |
Own unique Element ID.
Implements ns3::WifiInformationElement.
Definition at line 36 of file erp-information.cc.
References IE_ERP_INFORMATION.
uint8_t ns3::ErpInformation::GetBarkerPreambleMode | ( | void | ) | const |
Definition at line 66 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<(), and ns3::StaWifiMac::Receive().
|
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)
Implements ns3::WifiInformationElement.
Definition at line 84 of file erp-information.cc.
References m_erpSupported, and NS_ASSERT.
uint8_t ns3::ErpInformation::GetNonErpPresent | ( | void | ) | const |
Definition at line 78 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<().
uint16_t ns3::ErpInformation::GetSerializedSize | ( | void | ) | const |
Return the serialized size of this ErpInformation information element.
Definition at line 101 of file erp-information.cc.
References ns3::WifiInformationElement::GetSerializedSize(), and m_erpSupported.
Referenced by ns3::MgtAssocResponseHeader::GetSerializedSize(), and ns3::MgtProbeResponseHeader::GetSerializedSize().
uint8_t ns3::ErpInformation::GetUseProtection | ( | void | ) | const |
Definition at line 72 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<(), and ns3::StaWifiMac::Receive().
Buffer::Iterator ns3::ErpInformation::Serialize | ( | Buffer::Iterator | start | ) | const |
This information element is a bit special in that it is only included if the STA is an ERP STA.
To support this we override the Serialize and GetSerializedSize methods of WifiInformationElement.
start |
Definition at line 91 of file erp-information.cc.
References m_erpSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
|
virtual |
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 111 of file erp-information.cc.
References m_erpInformation, m_erpSupported, and ns3::Buffer::Iterator::WriteU8().
void ns3::ErpInformation::SetBarkerPreambleMode | ( | uint8_t | barkerPreambleMode | ) |
Set the Barker_Preamble_Mode field in the ErpInformation information element.
barkerPreambleMode | the Barker_Preamble_Mode field in the ErpInformation information element |
Definition at line 48 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation(), and ns3::operator>>().
void ns3::ErpInformation::SetErpSupported | ( | uint8_t | erpSupported | ) |
Definition at line 42 of file erp-information.cc.
References m_erpSupported.
Referenced by ns3::ApWifiMac::GetErpInformation().
void ns3::ErpInformation::SetNonErpPresent | ( | uint8_t | nonErpPresent | ) |
Set the Non_Erp_Present field in the ErpInformation information element.
nonErpPresent | the Non_Erp_Present field in the ErpInformation information element |
Definition at line 60 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation(), and ns3::operator>>().
void ns3::ErpInformation::SetUseProtection | ( | uint8_t | useProtection | ) |
Set the Use_Protection field in the ErpInformation information element.
useProtection | the Use_Protection field in the ErpInformation information element |
Definition at line 54 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation(), and ns3::operator>>().
|
private |
Definition at line 106 of file erp-information.h.
Referenced by DeserializeInformationField(), GetBarkerPreambleMode(), GetNonErpPresent(), GetUseProtection(), SerializeInformationField(), SetBarkerPreambleMode(), SetNonErpPresent(), and SetUseProtection().
|
private |
Definition at line 109 of file erp-information.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetErpSupported().