A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
wifi-default-assoc-manager.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2022 Universita' degli Studi di Napoli Federico II
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Stefano Avallone <stavallo@unina.it>
7
*/
8
9
#ifndef WIFI_DEFAULT_ASSOC_MANAGER_H
10
#define WIFI_DEFAULT_ASSOC_MANAGER_H
11
12
#include "
wifi-assoc-manager.h
"
13
14
namespace
ns3
15
{
16
17
class
StaWifiMac;
18
19
/**
20
* @ingroup wifi
21
*
22
* Default wifi Association Manager.
23
*/
24
class
WifiDefaultAssocManager
:
public
WifiAssocManager
25
{
26
public
:
27
/**
28
* @brief Get the type ID.
29
* @return the object TypeId
30
*/
31
static
TypeId
GetTypeId
();
32
WifiDefaultAssocManager
();
33
~WifiDefaultAssocManager
()
override
;
34
35
void
NotifyChannelSwitched
(uint8_t linkId)
override
;
36
bool
Compare
(
const
StaWifiMac::ApInfo
& lhs,
const
StaWifiMac::ApInfo
& rhs)
const override
;
37
38
protected
:
39
void
DoDispose
()
override
;
40
bool
CanBeInserted
(
const
StaWifiMac::ApInfo
& apInfo)
const override
;
41
bool
CanBeReturned
(
const
StaWifiMac::ApInfo
& apInfo)
const override
;
42
43
/**
44
* Perform operations to do at the end of a scanning procedure, such as
45
* identifying the links to setup in case of 11be MLD devices.
46
*/
47
void
EndScanning
();
48
49
private
:
50
void
DoStartScanning
()
override
;
51
52
/**
53
* Take action upon the expiration of the timer set when requesting channel
54
* switch on the given link.
55
*
56
* @param linkId the ID of the given link
57
*/
58
void
ChannelSwitchTimeout
(uint8_t linkId);
59
60
EventId
m_waitBeaconEvent
;
///< wait beacon event
61
EventId
m_probeRequestEvent
;
///< probe request event
62
Time
m_channelSwitchTimeout
;
///< maximum delay for channel switching
63
64
/** Channel switch info */
65
struct
ChannelSwitchInfo
66
{
67
EventId
timer
;
///< timer
68
Mac48Address
apLinkAddress
;
///< AP link address
69
Mac48Address
apMldAddress
;
///< AP MLD address
70
};
71
72
std::vector<ChannelSwitchInfo>
m_channelSwitchInfo
;
///< per-link channel switch info
73
};
74
75
}
// namespace ns3
76
77
#endif
/* WIFI_DEFAULT_ASSOC_MANAGER_H */
ns3::EventId
An identifier for simulation events.
Definition
event-id.h:45
ns3::Mac48Address
an EUI-48 address
Definition
mac48-address.h:35
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition
nstime.h:94
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3::WifiAssocManager
Abstract base class for the Association Manager, which manages scanning and association for single li...
Definition
wifi-assoc-manager.h:30
ns3::WifiDefaultAssocManager
Default wifi Association Manager.
Definition
wifi-default-assoc-manager.h:25
ns3::WifiDefaultAssocManager::EndScanning
void EndScanning()
Perform operations to do at the end of a scanning procedure, such as identifying the links to setup i...
Definition
wifi-default-assoc-manager.cc:111
ns3::WifiDefaultAssocManager::DoDispose
void DoDispose() override
Destructor implementation.
Definition
wifi-default-assoc-manager.cc:58
ns3::WifiDefaultAssocManager::m_probeRequestEvent
EventId m_probeRequestEvent
probe request event
Definition
wifi-default-assoc-manager.h:61
ns3::WifiDefaultAssocManager::~WifiDefaultAssocManager
~WifiDefaultAssocManager() override
Definition
wifi-default-assoc-manager.cc:52
ns3::WifiDefaultAssocManager::DoStartScanning
void DoStartScanning() override
Start a scanning procedure.
Definition
wifi-default-assoc-manager.cc:73
ns3::WifiDefaultAssocManager::CanBeInserted
bool CanBeInserted(const StaWifiMac::ApInfo &apInfo) const override
Allow subclasses to choose whether the given ApInfo shall be considered and hence inserted in the sor...
Definition
wifi-default-assoc-manager.cc:288
ns3::WifiDefaultAssocManager::m_channelSwitchTimeout
Time m_channelSwitchTimeout
maximum delay for channel switching
Definition
wifi-default-assoc-manager.h:62
ns3::WifiDefaultAssocManager::NotifyChannelSwitched
void NotifyChannelSwitched(uint8_t linkId) override
Notify that the given link has completed channel switching.
Definition
wifi-default-assoc-manager.cc:246
ns3::WifiDefaultAssocManager::WifiDefaultAssocManager
WifiDefaultAssocManager()
Definition
wifi-default-assoc-manager.cc:47
ns3::WifiDefaultAssocManager::Compare
bool Compare(const StaWifiMac::ApInfo &lhs, const StaWifiMac::ApInfo &rhs) const override
Compare two ApInfo objects for the purpose of keeping a sorted list of ApInfo objects.
Definition
wifi-default-assoc-manager.cc:67
ns3::WifiDefaultAssocManager::m_waitBeaconEvent
EventId m_waitBeaconEvent
wait beacon event
Definition
wifi-default-assoc-manager.h:60
ns3::WifiDefaultAssocManager::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
wifi-default-assoc-manager.cc:30
ns3::WifiDefaultAssocManager::ChannelSwitchTimeout
void ChannelSwitchTimeout(uint8_t linkId)
Take action upon the expiration of the timer set when requesting channel switch on the given link.
Definition
wifi-default-assoc-manager.cc:265
ns3::WifiDefaultAssocManager::m_channelSwitchInfo
std::vector< ChannelSwitchInfo > m_channelSwitchInfo
per-link channel switch info
Definition
wifi-default-assoc-manager.h:72
ns3::WifiDefaultAssocManager::CanBeReturned
bool CanBeReturned(const StaWifiMac::ApInfo &apInfo) const override
Allow subclasses to choose whether the given ApInfo shall be returned or discarded when the STA wifi ...
Definition
wifi-default-assoc-manager.cc:294
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::StaWifiMac::ApInfo
Struct to hold information regarding observed AP through active/passive scanning.
Definition
sta-wifi-mac.h:149
ns3::WifiDefaultAssocManager::ChannelSwitchInfo
Channel switch info.
Definition
wifi-default-assoc-manager.h:66
ns3::WifiDefaultAssocManager::ChannelSwitchInfo::apLinkAddress
Mac48Address apLinkAddress
AP link address.
Definition
wifi-default-assoc-manager.h:68
ns3::WifiDefaultAssocManager::ChannelSwitchInfo::timer
EventId timer
timer
Definition
wifi-default-assoc-manager.h:67
ns3::WifiDefaultAssocManager::ChannelSwitchInfo::apMldAddress
Mac48Address apMldAddress
AP MLD address.
Definition
wifi-default-assoc-manager.h:69
wifi-assoc-manager.h
src
wifi
model
wifi-default-assoc-manager.h
Generated on Fri Dec 13 2024 09:20:52 for ns-3 by
1.11.0