The ErpInformation Information Element. More...
#include "erp-information.h"
Public Member Functions | |
ErpInformation () | |
uint8_t | DeserializeInformationField (Buffer::Iterator start, uint8_t length) override |
Deserialize information (i.e., the body of the IE, not including the Element ID and length octets) More... | |
WifiInformationElementId | ElementId () const override |
uint8_t | GetBarkerPreambleMode (void) const |
Return the Barker_Preamble_Mode field in the ErpInformation information element. More... | |
uint8_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. More... | |
uint8_t | GetNonErpPresent (void) const |
Return the Non_Erp_Present field in the ErpInformation information element. More... | |
uint16_t | GetSerializedSize () const override |
Get the size of the serialized IE including Element ID and length fields. More... | |
uint8_t | GetUseProtection (void) const |
Return the Use_Protection field in the ErpInformation information element. More... | |
Buffer::Iterator | Serialize (Buffer::Iterator start) const override |
Serialize entire IE including Element ID and length fields. More... | |
void | SerializeInformationField (Buffer::Iterator start) const override |
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) |
Set the ERP supported field. More... | |
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... | |
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... | |
virtual WifiInformationElementId | ElementIdExt () const |
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... | |
Public Member Functions inherited from ns3::SimpleRefCount< WifiInformationElement > | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount (void) const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= ([[maybe_unused]] 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_erpInformation |
ERP information. More... | |
bool | m_erpSupported |
This is used to decide whether this element should be added to the frame or not. More... | |
The ErpInformation Information Element.
This class knows how to serialise and deserialise the ErpInformation Information Element.
Definition at line 34 of file erp-information.h.
ns3::ErpInformation::ErpInformation | ( | ) |
Definition at line 25 of file erp-information.cc.
|
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 |
Implements ns3::WifiInformationElement.
Definition at line 116 of file erp-information.cc.
References m_erpInformation, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
|
overridevirtual |
Implements ns3::WifiInformationElement.
Definition at line 32 of file erp-information.cc.
References IE_ERP_INFORMATION.
uint8_t ns3::ErpInformation::GetBarkerPreambleMode | ( | void | ) | const |
Return the Barker_Preamble_Mode field in the ErpInformation information element.
Definition at line 62 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<(), ns3::StaWifiMac::UpdateApInfoFromAssocResp(), ns3::StaWifiMac::UpdateApInfoFromBeacon(), and ns3::StaWifiMac::UpdateApInfoFromProbeResp().
|
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)
Implements ns3::WifiInformationElement.
Definition at line 80 of file erp-information.cc.
References m_erpSupported, and NS_ASSERT.
uint8_t ns3::ErpInformation::GetNonErpPresent | ( | void | ) | const |
Return the Non_Erp_Present field in the ErpInformation information element.
Definition at line 74 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<().
|
overridevirtual |
Get the size of the serialized IE including Element ID and length fields.
Reimplemented from ns3::WifiInformationElement.
Definition at line 97 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 |
Return the Use_Protection field in the ErpInformation information element.
Definition at line 68 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::operator<<(), and ns3::StaWifiMac::UpdateApInfoFromBeacon().
|
overridevirtual |
Serialize entire IE including Element ID and length fields.
i | an iterator which points to where the IE should be written. |
Reimplemented from ns3::WifiInformationElement.
Definition at line 87 of file erp-information.cc.
References m_erpSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
|
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 107 of file erp-information.cc.
References m_erpInformation, m_erpSupported, and visualizer.core::start().
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 44 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation().
void ns3::ErpInformation::SetErpSupported | ( | uint8_t | erpSupported | ) |
Set the ERP supported field.
erpSupported | the ERP supported field in the ErpInformation information element |
Definition at line 38 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 56 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation().
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 50 of file erp-information.cc.
References m_erpInformation.
Referenced by ns3::ApWifiMac::GetErpInformation().
|
private |
ERP information.
Definition at line 100 of file erp-information.h.
Referenced by DeserializeInformationField(), GetBarkerPreambleMode(), GetNonErpPresent(), GetUseProtection(), SerializeInformationField(), SetBarkerPreambleMode(), SetNonErpPresent(), and SetUseProtection().
|
private |
This is used to decide whether this element should be added to the frame or not.
Definition at line 103 of file erp-information.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetErpSupported().