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) |
Get the information field size. More... | |
WifiInformationElementId | ElementId () const |
Get the element ID field. More... | |
uint8_t | GetBarkerPreambleMode (void) const |
Return the Barker_Preamble_Mode field in the ErpInformation information element. More... | |
uint8_t | GetInformationFieldSize () const |
Get the information field size. More... | |
uint8_t | GetNonErpPresent (void) const |
Return the Non_Erp_Present field in the ErpInformation information element. More... | |
uint16_t | GetSerializedSize () const |
Return the serialized size of this ErpInformation information element. More... | |
uint8_t | GetUseProtection (void) const |
Return the Use_Protection field in the ErpInformation information element. More... | |
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 the information field. 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... | |
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... | |
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... | |
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... | |
SimpleRefCount & | operator= (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.
|
virtual |
Get the information field size.
start | the information element iterator |
length | the information field length |
Implements ns3::WifiInformationElement.
Definition at line 116 of file erp-information.cc.
References m_erpInformation, ns3::Buffer::Iterator::ReadU8(), and visualizer.core::start().
|
virtual |
Get the element ID field.
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().
|
virtual |
Get the information field size.
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<<().
uint16_t ns3::ErpInformation::GetSerializedSize | ( | void | ) | const |
Return the serialized size of this ErpInformation information element.
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().
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 87 of file erp-information.cc.
References m_erpSupported, and ns3::WifiInformationElement::Serialize().
Referenced by ns3::MgtAssocResponseHeader::Serialize(), and ns3::MgtProbeResponseHeader::Serialize().
|
virtual |
Serialize the information field.
start | the information element iterator |
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 131 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 134 of file erp-information.h.
Referenced by GetInformationFieldSize(), GetSerializedSize(), Serialize(), SerializeInformationField(), and SetErpSupported().