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

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

#include "mgt-headers.h"

+ Inheritance diagram for ns3::MgtReassocRequestHeader:
+ Collaboration diagram for ns3::MgtReassocRequestHeader:

Public Member Functions

 ~MgtReassocRequestHeader () 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 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 >
 

Detailed Description

Implement the header for management frames of type reassociation request.

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

Constructor & Destructor Documentation

◆ ~MgtReassocRequestHeader()

ns3::MgtReassocRequestHeader::~MgtReassocRequestHeader ( )
overridedefault

Member Function Documentation

◆ Capabilities() [1/2]

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

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

References m_capability.

◆ Capabilities() [2/2]

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

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

References m_capability.

◆ DeserializeFromPerStaProfileImpl()

uint32_t ns3::MgtReassocRequestHeader::DeserializeFromPerStaProfileImpl ( Buffer::Iterator start,
uint16_t length,
const MgtReassocRequestHeader & 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 407 of file mgt-headers.cc.

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

+ Here is the call graph for this function:

◆ DeserializeImpl()

uint32_t ns3::MgtReassocRequestHeader::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 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().

+ Here is the call graph for this function:

◆ GetInstanceTypeId()

TypeId ns3::MgtReassocRequestHeader::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 290 of file mgt-headers.cc.

References GetTypeId().

+ Here is the call graph for this function:

◆ GetListenInterval()

uint16_t ns3::MgtReassocRequestHeader::GetListenInterval ( ) const

Return the listen interval.

Returns
the listen interval

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

References m_listenInterval.

◆ GetSerializedSizeImpl()

uint32_t ns3::MgtReassocRequestHeader::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 326 of file mgt-headers.cc.

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

+ Here is the call graph for this function:

◆ GetSerializedSizeInPerStaProfileImpl()

uint32_t ns3::MgtReassocRequestHeader::GetSerializedSizeInPerStaProfileImpl ( const MgtReassocRequestHeader & 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 339 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::MgtReassocRequestHeader::GetTypeId ( )
static

Register this type.

Returns
The TypeId.

Definition at line 280 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:

◆ PrintImpl()

void ns3::MgtReassocRequestHeader::PrintImpl ( std::ostream & os) const
protected

Parameters
osoutput 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.

◆ SerializeImpl()

void ns3::MgtReassocRequestHeader::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 358 of file mgt-headers.cc.

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

+ Here is the call graph for this function:

◆ SerializeInPerStaProfileImpl()

void ns3::MgtReassocRequestHeader::SerializeInPerStaProfileImpl ( Buffer::Iterator start,
const MgtReassocRequestHeader & 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 370 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:

◆ SetCurrentApAddress()

void ns3::MgtReassocRequestHeader::SetCurrentApAddress ( Mac48Address currentApAddr)

Set the address of the current access point.

Parameters
currentApAddraddress of the current access point

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

References m_currentApAddr.

Referenced by ns3::StaWifiMac::GetAssociationRequest().

+ Here is the caller graph for this function:

◆ SetListenInterval()

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

Set the listen interval.

Parameters
intervalthe listen interval

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

References m_listenInterval.

Friends And Related Symbol Documentation

◆ MgtHeaderInPerStaProfile< MgtReassocRequestHeader, AssocRequestElems >

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

◆ WifiMgtHeader< MgtReassocRequestHeader, AssocRequestElems >

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

Member Data Documentation

◆ m_capability

◆ m_currentApAddr

Mac48Address ns3::MgtReassocRequestHeader::m_currentApAddr
private

Address of the current access point.

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

Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), PrintImpl(), SerializeImpl(), and SetCurrentApAddress().

◆ m_listenInterval

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

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