Implement the header for management frames of type association request. More...
#include "mgt-headers.h"
Public Member Functions | |
~MgtAssocRequestHeader () 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 | 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 MgtAssocRequestHeader &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 MgtAssocRequestHeader &frame) const |
void | SerializeImpl (Buffer::Iterator start) const |
void | SerializeInPerStaProfileImpl (Buffer::Iterator start, const MgtAssocRequestHeader &frame) const |
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element. | |
Private Attributes | |
CapabilityInformation | m_capability |
Capability information. | |
uint16_t | m_listenInterval {0} |
listen interval | |
Friends | |
class | MgtHeaderInPerStaProfile< MgtAssocRequestHeader, AssocRequestElems > |
class | WifiMgtHeader< MgtAssocRequestHeader, AssocRequestElems > |
Implement the header for management frames of type association 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 1184 bytes (on a 64-bit architecture).
Definition at line 149 of file mgt-headers.h.
|
overridedefault |
CapabilityInformation & ns3::MgtAssocRequestHeader::Capabilities | ( | ) |
Definition at line 182 of file mgt-headers.cc.
References m_capability.
Referenced by BasicMultiLinkElementTest::DoRun().
const CapabilityInformation & ns3::MgtAssocRequestHeader::Capabilities | ( | ) | const |
Definition at line 176 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 259 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, 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 233 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, m_listenInterval, 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 158 of file mgt-headers.cc.
References GetTypeId().
uint16_t ns3::MgtAssocRequestHeader::GetListenInterval | ( | ) | const |
Return the listen interval.
Definition at line 164 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 188 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), and m_capability.
|
protected |
frame | the frame containing the Multi-Link Element |
Definition at line 200 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), GetSerializedSizeInPerStaProfileImpl(), and m_capability.
Referenced by GetSerializedSizeInPerStaProfileImpl().
|
static |
Register this type.
Definition at line 148 of file mgt-headers.cc.
References ns3::TypeId::SetParent().
Referenced by GetInstanceTypeId().
|
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 212 of file mgt-headers.cc.
References m_capability, m_listenInterval, ns3::CapabilityInformation::Serialize(), and ns3::Buffer::Iterator::WriteHtolsbU16().
|
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 223 of file mgt-headers.cc.
References m_capability, ns3::CapabilityInformation::Serialize(), and SerializeInPerStaProfileImpl().
Referenced by SerializeInPerStaProfileImpl().
void ns3::MgtAssocRequestHeader::SetListenInterval | ( | uint16_t | interval | ) |
Set the listen interval.
interval | the listen interval |
Definition at line 170 of file mgt-headers.cc.
References m_listenInterval.
Referenced by BasicMultiLinkElementTest::DoRun().
|
friend |
Definition at line 1 of file mgt-headers.h.
|
friend |
Definition at line 1 of file mgt-headers.h.
|
private |
Capability information.
Definition at line 225 of file mgt-headers.h.
Referenced by Capabilities(), Capabilities(), DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetSerializedSizeImpl(), GetSerializedSizeInPerStaProfileImpl(), SerializeImpl(), and SerializeInPerStaProfileImpl().
|
private |
listen interval
Definition at line 226 of file mgt-headers.h.
Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetListenInterval(), SerializeImpl(), and SetListenInterval().