A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::MgtAssocRequestHeader Class Reference

Implement the header for management frames of type association request. More...

#include "mgt-headers.h"

+ Inheritance diagram for ns3::MgtAssocRequestHeader:
+ Collaboration diagram for ns3::MgtAssocRequestHeader:

Public Member Functions

 ~MgtAssocRequestHeader () override=default
 
CapabilityInformationCapabilities ()
 
const CapabilityInformationCapabilities () 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 >
 

Detailed Description

Implement the header for management frames of type association request.

Definition at line 160 of file mgt-headers.h.

Constructor & Destructor Documentation

◆ ~MgtAssocRequestHeader()

ns3::MgtAssocRequestHeader::~MgtAssocRequestHeader ( )
overridedefault

Member Function Documentation

◆ Capabilities() [1/2]

CapabilityInformation & ns3::MgtAssocRequestHeader::Capabilities ( )
Returns
a reference to the Capability information

Definition at line 193 of file mgt-headers.cc.

References m_capability.

Referenced by BasicMultiLinkElementTest::DoRun().

+ Here is the caller graph for this function:

◆ Capabilities() [2/2]

const CapabilityInformation & ns3::MgtAssocRequestHeader::Capabilities ( ) const
Returns
a const reference to the Capability information

Definition at line 187 of file mgt-headers.cc.

References m_capability.

◆ DeserializeFromPerStaProfileImpl()

uint32_t ns3::MgtAssocRequestHeader::DeserializeFromPerStaProfileImpl ( Buffer::Iterator  start,
uint16_t  length,
const MgtAssocRequestHeader frame 
)
protected

Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.

Parameters
startan iterator which points to where the header should be read from
lengththe expected number of bytes to read
framethe frame containing the Multi-Link Element
Returns
the number of bytes read

Definition at line 270 of file mgt-headers.cc.

References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, m_listenInterval, and NS_ASSERT_MSG.

+ Here is the call graph for this function:

◆ DeserializeImpl()

uint32_t ns3::MgtAssocRequestHeader::DeserializeImpl ( Buffer::Iterator  start)
protected

Parameters
startan iterator which points to where the header should read from.
Returns
the number of bytes read.

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 244 of file mgt-headers.cc.

References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_capability, m_listenInterval, and ns3::Buffer::Iterator::ReadLsbtohU16().

+ Here is the call graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::MgtAssocRequestHeader::GetInstanceTypeId ( ) const
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.

Returns
The TypeId associated to the most-derived type of this instance.

Definition at line 169 of file mgt-headers.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetListenInterval()

uint16_t ns3::MgtAssocRequestHeader::GetListenInterval ( ) const

Return the listen interval.

Returns
the listen interval

Definition at line 175 of file mgt-headers.cc.

References m_listenInterval.

◆ GetSerializedSizeImpl()

uint32_t ns3::MgtAssocRequestHeader::GetSerializedSizeImpl ( ) const
protected

Returns
the expected size of the header.

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 199 of file mgt-headers.cc.

References ns3::CapabilityInformation::GetSerializedSize(), and m_capability.

+ Here is the call graph for this function:

◆ GetSerializedSizeInPerStaProfileImpl()

uint32_t ns3::MgtAssocRequestHeader::GetSerializedSizeInPerStaProfileImpl ( const MgtAssocRequestHeader frame) const
protected
Parameters
framethe frame containing the Multi-Link Element
Returns
the number of bytes that are needed to serialize this header into a Per-STA Profile subelement of the Multi-Link Element

Definition at line 211 of file mgt-headers.cc.

References ns3::CapabilityInformation::GetSerializedSize(), GetSerializedSizeInPerStaProfileImpl(), and m_capability.

Referenced by GetSerializedSizeInPerStaProfileImpl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetTypeId()

TypeId ns3::MgtAssocRequestHeader::GetTypeId ( )
static

Register this type.

Returns
The TypeId.

Definition at line 159 of file mgt-headers.cc.

References ns3::TypeId::SetParent().

Referenced by GetInstanceTypeId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SerializeImpl()

void ns3::MgtAssocRequestHeader::SerializeImpl ( Buffer::Iterator  start) const
protected

Parameters
startan 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 223 of file mgt-headers.cc.

References m_capability, m_listenInterval, ns3::CapabilityInformation::Serialize(), and ns3::Buffer::Iterator::WriteHtolsbU16().

+ Here is the call graph for this function:

◆ SerializeInPerStaProfileImpl()

void ns3::MgtAssocRequestHeader::SerializeInPerStaProfileImpl ( Buffer::Iterator  start,
const MgtAssocRequestHeader frame 
) const
protected

Serialize this header into a Per-STA Profile subelement of a Multi-Link Element.

Parameters
startan iterator which points to where the header should be written
framethe frame containing the Multi-Link Element

Definition at line 234 of file mgt-headers.cc.

References m_capability, ns3::CapabilityInformation::Serialize(), and SerializeInPerStaProfileImpl().

Referenced by SerializeInPerStaProfileImpl().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ SetListenInterval()

void ns3::MgtAssocRequestHeader::SetListenInterval ( uint16_t  interval)

Set the listen interval.

Parameters
intervalthe listen interval

Definition at line 181 of file mgt-headers.cc.

References m_listenInterval.

Referenced by BasicMultiLinkElementTest::DoRun().

+ Here is the caller graph for this function:

Friends And Related Function Documentation

◆ MgtHeaderInPerStaProfile< MgtAssocRequestHeader, AssocRequestElems >

Definition at line 1 of file mgt-headers.h.

◆ WifiMgtHeader< MgtAssocRequestHeader, AssocRequestElems >

Definition at line 1 of file mgt-headers.h.

Member Data Documentation

◆ m_capability

◆ m_listenInterval

uint16_t ns3::MgtAssocRequestHeader::m_listenInterval {0}
private

The documentation for this class was generated from the following files: