Implement the header for management frames of type reassociation request. More...
#include "mgt-headers.h"
Public Member Functions | |
~MgtReassocRequestHeader () override=default | |
CapabilityInformation & | Capabilities () |
const CapabilityInformation & | Capabilities () const |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint16_t | GetListenInterval () const |
Return the listen interval. | |
void | SetCurrentApAddress (Mac48Address currentApAddr) |
Set the address of the current access point. | |
void | SetListenInterval (uint16_t interval) |
Set the listen interval. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Register this type. | |
Protected Member Functions | |
uint32_t | DeserializeFromPerStaProfileImpl (Buffer::Iterator start, uint16_t length, const MgtReassocRequestHeader &frame) |
Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element. | |
uint32_t | DeserializeImpl (Buffer::Iterator start) |
uint32_t | GetSerializedSizeImpl () const |
uint32_t | GetSerializedSizeInPerStaProfileImpl (const MgtReassocRequestHeader &frame) const |
void | PrintImpl (std::ostream &os) const |
void | SerializeImpl (Buffer::Iterator start) const |
void | SerializeInPerStaProfileImpl (Buffer::Iterator start, const MgtReassocRequestHeader &frame) const |
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element. | |
Private Attributes | |
CapabilityInformation | m_capability |
Capability information. | |
Mac48Address | m_currentApAddr |
Address of the current access point. | |
uint16_t | m_listenInterval {0} |
listen interval | |
Friends | |
class | MgtHeaderInPerStaProfile< MgtReassocRequestHeader, AssocRequestElems > |
class | WifiMgtHeader< MgtReassocRequestHeader, AssocRequestElems > |
Implement the header for management frames of type reassociation request.
Introspection did not find any typical Config paths.
No Attributes are defined for this type.
No TraceSources are defined for this type.
Group: Wifi
Size of this type is 1192 bytes (on a 64-bit architecture).
Definition at line 233 of file mgt-headers.h.
|
overridedefault |
CapabilityInformation & ns3::MgtReassocRequestHeader::Capabilities | ( | ) |
Definition at line 314 of file mgt-headers.cc.
References m_capability.
const CapabilityInformation & ns3::MgtReassocRequestHeader::Capabilities | ( | ) | const |
Definition at line 308 of file mgt-headers.cc.
References m_capability.
|
protected |
Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
start | an iterator which points to where the header should be read from |
length | the expected number of bytes to read |
frame | the frame containing the Multi-Link Element |
Definition at line 407 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, m_currentApAddr, m_listenInterval, and NS_ASSERT_MSG.
|
protected |
start | an iterator which points to where the header should read from. |
This method is used by Packet::RemoveHeader to re-create a header from the byte buffer of a packet. The data read is expected to match bit-for-bit the representation of this header in real networks.
Note that data is not actually removed from the buffer to which the iterator points. Both Packet::RemoveHeader() and Packet::PeekHeader() call Deserialize(), but only the RemoveHeader() has additional statements to remove the header bytes from the underlying buffer and associated metadata.
Definition at line 380 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, m_currentApAddr, m_listenInterval, ns3::ReadFrom(), and ns3::Buffer::Iterator::ReadLsbtohU16().
|
override |
Get the most derived TypeId for this Object.
This method is typically implemented by ns3::Object::GetInstanceTypeId but some classes which derive from ns3::ObjectBase directly have to implement it themselves.
Definition at line 290 of file mgt-headers.cc.
References GetTypeId().
uint16_t ns3::MgtReassocRequestHeader::GetListenInterval | ( | ) | const |
Return the listen interval.
Definition at line 296 of file mgt-headers.cc.
References m_listenInterval.
|
protected |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. This method should return the number of bytes which are needed to store the full header data by Serialize.
Definition at line 326 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), and m_capability.
|
protected |
frame | the frame containing the Multi-Link Element |
Definition at line 339 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), GetSerializedSizeInPerStaProfileImpl(), and m_capability.
Referenced by GetSerializedSizeInPerStaProfileImpl().
|
static |
Register this type.
Definition at line 280 of file mgt-headers.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
protected |
os | output stream This method is used by Packet::Print to print the content of a header as ascii data to a c++ output stream. Although the header is free to format its output as it wishes, it is recommended to follow a few rules to integrate with the packet pretty printer: start with flags, small field values located between a pair of parens. Values should be separated by whitespace. Follow the parens with the important fields, separated by whitespace. i.e.: (field1 val1 field2 val2 field3 val3) field4 val4 field5 val5 |
Definition at line 351 of file mgt-headers.cc.
References m_currentApAddr.
|
protected |
start | an iterator which points to where the header should be written. |
This method is used by Packet::AddHeader to store a header into the byte buffer of a packet. The data written is expected to match bit-for-bit the representation of this header in a real network.
Definition at line 358 of file mgt-headers.cc.
References m_capability, m_currentApAddr, m_listenInterval, ns3::CapabilityInformation::Serialize(), ns3::Buffer::Iterator::WriteHtolsbU16(), and ns3::WriteTo().
|
protected |
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element.
start | an iterator which points to where the header should be written |
frame | the frame containing the Multi-Link Element |
Definition at line 370 of file mgt-headers.cc.
References m_capability, ns3::CapabilityInformation::Serialize(), and SerializeInPerStaProfileImpl().
Referenced by SerializeInPerStaProfileImpl().
void ns3::MgtReassocRequestHeader::SetCurrentApAddress | ( | Mac48Address | currentApAddr | ) |
Set the address of the current access point.
currentApAddr | address of the current access point |
Definition at line 320 of file mgt-headers.cc.
References m_currentApAddr.
Referenced by ns3::StaWifiMac::GetAssociationRequest().
void ns3::MgtReassocRequestHeader::SetListenInterval | ( | uint16_t | interval | ) |
Set the listen interval.
interval | the listen interval |
Definition at line 302 of file mgt-headers.cc.
References m_listenInterval.
|
friend |
Definition at line 226 of file mgt-headers.h.
|
friend |
Definition at line 226 of file mgt-headers.h.
|
private |
Capability information.
Definition at line 318 of file mgt-headers.h.
Referenced by Capabilities(), Capabilities(), DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetSerializedSizeImpl(), GetSerializedSizeInPerStaProfileImpl(), SerializeImpl(), and SerializeInPerStaProfileImpl().
|
private |
Address of the current access point.
Definition at line 317 of file mgt-headers.h.
Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), PrintImpl(), SerializeImpl(), and SetCurrentApAddress().
|
private |
listen interval
Definition at line 319 of file mgt-headers.h.
Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetListenInterval(), SerializeImpl(), and SetListenInterval().