Implement the header for management frames of type probe response. More...
#include "mgt-headers.h"
Public Member Functions | |
~MgtProbeResponseHeader () override=default | |
CapabilityInformation & | Capabilities () |
const CapabilityInformation & | Capabilities () const |
uint64_t | GetBeaconIntervalUs () const |
Return the beacon interval in microseconds unit. | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. | |
uint64_t | GetTimestamp () const |
Return the time stamp. | |
void | SetBeaconIntervalUs (uint64_t us) |
Set the beacon interval in microseconds unit. | |
Static Public Member Functions | |
static TypeId | GetTypeId () |
Register this type. | |
Protected Member Functions | |
uint32_t | DeserializeFromPerStaProfileImpl (Buffer::Iterator start, uint16_t length, const MgtProbeResponseHeader &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 MgtProbeResponseHeader &frame) const |
void | SerializeImpl (Buffer::Iterator start) const |
void | SerializeInPerStaProfileImpl (Buffer::Iterator start, const MgtProbeResponseHeader &frame) const |
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element. | |
Private Attributes | |
uint64_t | m_beaconInterval |
Beacon interval. | |
CapabilityInformation | m_capability |
Capability information. | |
uint64_t | m_timestamp |
Timestamp. | |
Friends | |
class | MgtHeaderInPerStaProfile< MgtProbeResponseHeader, ProbeResponseElems > |
class | WifiMgtHeader< MgtProbeResponseHeader, ProbeResponseElems > |
Implement the header for management frames of type probe response.
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 1688 bytes (on a 64-bit architecture).
Definition at line 446 of file mgt-headers.h.
|
overridedefault |
CapabilityInformation & ns3::MgtProbeResponseHeader::Capabilities | ( | ) |
Definition at line 82 of file mgt-headers.cc.
References m_capability.
Referenced by ns3::ApWifiMac::GetProbeRespProfile(), ns3::StaWifiMac::ReceiveBeacon(), and ns3::ApWifiMac::SendOneBeacon().
const CapabilityInformation & ns3::MgtProbeResponseHeader::Capabilities | ( | ) | const |
Definition at line 76 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 313 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), GetBeaconIntervalUs(), ns3::Buffer::Iterator::GetDistanceFrom(), GetTimestamp(), m_beaconInterval, m_capability, m_timestamp, 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 117 of file mgt-headers.cc.
References ns3::CapabilityInformation::Deserialize(), ns3::Buffer::Iterator::GetDistanceFrom(), m_beaconInterval, m_capability, m_timestamp, ns3::Buffer::Iterator::ReadLsbtohU16(), and ns3::Buffer::Iterator::ReadLsbtohU64().
uint64_t ns3::MgtProbeResponseHeader::GetBeaconIntervalUs | ( | ) | const |
Return the beacon interval in microseconds unit.
Definition at line 64 of file mgt-headers.cc.
References m_beaconInterval.
Referenced by DeserializeFromPerStaProfileImpl(), ns3::MeshWifiBeacon::GetBeaconInterval(), and ns3::dot11s::PeerManagementProtocolMac::Receive().
|
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 58 of file mgt-headers.cc.
References GetTypeId().
|
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 94 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), and m_capability.
|
protected |
frame | the frame containing the Multi-Link Element |
Definition at line 291 of file mgt-headers.cc.
References ns3::CapabilityInformation::GetSerializedSize(), GetSerializedSizeInPerStaProfileImpl(), and m_capability.
Referenced by GetSerializedSizeInPerStaProfileImpl().
uint64_t ns3::MgtProbeResponseHeader::GetTimestamp | ( | ) | const |
Return the time stamp.
Definition at line 88 of file mgt-headers.cc.
References m_timestamp.
Referenced by DeserializeFromPerStaProfileImpl().
|
static |
Register this type.
Definition at line 48 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 105 of file mgt-headers.cc.
References m_beaconInterval, m_capability, ns3::Simulator::Now(), ns3::CapabilityInformation::Serialize(), ns3::Buffer::Iterator::WriteHtolsbU16(), and ns3::Buffer::Iterator::WriteHtolsbU64().
|
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 303 of file mgt-headers.cc.
References m_capability, ns3::CapabilityInformation::Serialize(), and SerializeInPerStaProfileImpl().
Referenced by SerializeInPerStaProfileImpl().
void ns3::MgtProbeResponseHeader::SetBeaconIntervalUs | ( | uint64_t | us | ) |
Set the beacon interval in microseconds unit.
us | beacon interval in microseconds unit |
Definition at line 70 of file mgt-headers.cc.
References m_beaconInterval.
Referenced by ns3::MeshWifiBeacon::MeshWifiBeacon(), ns3::ApWifiMac::GetProbeRespProfile(), and ns3::ApWifiMac::SendOneBeacon().
|
friend |
Definition at line 439 of file mgt-headers.h.
|
friend |
Definition at line 439 of file mgt-headers.h.
|
private |
Beacon interval.
Definition at line 529 of file mgt-headers.h.
Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetBeaconIntervalUs(), SerializeImpl(), and SetBeaconIntervalUs().
|
private |
Capability information.
Definition at line 530 of file mgt-headers.h.
Referenced by Capabilities(), Capabilities(), DeserializeFromPerStaProfileImpl(), DeserializeImpl(), GetSerializedSizeImpl(), GetSerializedSizeInPerStaProfileImpl(), SerializeImpl(), and SerializeInPerStaProfileImpl().
|
private |
Timestamp.
Definition at line 528 of file mgt-headers.h.
Referenced by DeserializeFromPerStaProfileImpl(), DeserializeImpl(), and GetTimestamp().