Beacon is beacon header + list of arbitrary information elements. More...
#include "mesh-wifi-beacon.h"
Public Member Functions | |
MeshWifiBeacon (Ssid ssid, AllSupportedRates rates, uint64_t us) | |
C-tor. More... | |
void | AddInformationElement (Ptr< WifiInformationElement > ie) |
Add information element. More... | |
MgtBeaconHeader | BeaconHeader () const |
Read standard Wifi beacon header. More... | |
WifiMacHeader | CreateHeader (Mac48Address address, Mac48Address mpAddress) |
Create Wifi header for beacon frame. More... | |
Ptr< Packet > | CreatePacket () |
Create frame = { beacon header + all information elements sorted by ElementId () }. More... | |
Time | GetBeaconInterval () const |
Returns the beacon interval of Wifi beacon. More... | |
Private Attributes | |
MeshInformationElementVector | m_elements |
List of information elements added. More... | |
MgtBeaconHeader | m_header |
Beacon header. More... | |
Beacon is beacon header + list of arbitrary information elements.
It is supposed that distinct mesh protocols can use beacons to transport their own information elements.
Definition at line 41 of file mesh-wifi-beacon.h.
ns3::MeshWifiBeacon::MeshWifiBeacon | ( | Ssid | ssid, |
AllSupportedRates | rates, | ||
uint64_t | us | ||
) |
C-tor.
ssid | is SSID for beacon header |
rates | is a set of supported rates |
us | beacon interval in microseconds |
Definition at line 28 of file mesh-wifi-beacon.cc.
References ns3::AllSupportedRates::extendedRates, m_header, ns3::AllSupportedRates::rates, ns3::MgtProbeResponseHeader::SetBeaconIntervalUs(), and third::ssid.
void ns3::MeshWifiBeacon::AddInformationElement | ( | Ptr< WifiInformationElement > | ie | ) |
Add information element.
ie | the Wifi information element |
Definition at line 37 of file mesh-wifi-beacon.cc.
References ns3::MeshInformationElementVector::AddInformationElement(), and m_elements.
Referenced by ns3::dot11s::PeerManagementProtocolMac::UpdateBeacon().
|
inline |
Read standard Wifi beacon header.
Definition at line 58 of file mesh-wifi-beacon.h.
References m_header.
Referenced by CreatePacket().
WifiMacHeader ns3::MeshWifiBeacon::CreateHeader | ( | Mac48Address | address, |
Mac48Address | mpAddress | ||
) |
Create Wifi header for beacon frame.
address | is sender address |
mpAddress | is mesh point address |
Definition at line 58 of file mesh-wifi-beacon.cc.
References first::address, ns3::Mac48Address::GetBroadcast(), ns3::WifiMacHeader::SetAddr1(), ns3::WifiMacHeader::SetAddr2(), ns3::WifiMacHeader::SetAddr3(), ns3::WifiMacHeader::SetDsNotFrom(), ns3::WifiMacHeader::SetDsNotTo(), ns3::WifiMacHeader::SetType(), and ns3::WIFI_MAC_MGT_BEACON.
Referenced by ns3::MeshWifiInterfaceMac::SendBeacon().
Create frame = { beacon header + all information elements sorted by ElementId () }.
Definition at line 49 of file mesh-wifi-beacon.cc.
References ns3::Packet::AddHeader(), BeaconHeader(), and m_elements.
Referenced by ns3::MeshWifiInterfaceMac::SendBeacon().
Time ns3::MeshWifiBeacon::GetBeaconInterval | ( | ) | const |
Returns the beacon interval of Wifi beacon.
Definition at line 43 of file mesh-wifi-beacon.cc.
References ns3::MgtProbeResponseHeader::GetBeaconIntervalUs(), m_header, and ns3::MicroSeconds().
Referenced by ns3::dot11s::PeerManagementProtocolMac::UpdateBeacon().
|
private |
List of information elements added.
Definition at line 95 of file mesh-wifi-beacon.h.
Referenced by AddInformationElement(), and CreatePacket().
|
private |
Beacon header.
Definition at line 93 of file mesh-wifi-beacon.h.
Referenced by MeshWifiBeacon(), BeaconHeader(), and GetBeaconInterval().