A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
default-emlsr-manager.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 Universita' degli Studi di Napoli Federico II
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Stefano Avallone <stavallo@unina.it>
18
*/
19
20
#ifndef DEFAULT_EMLSR_MANAGER_H
21
#define DEFAULT_EMLSR_MANAGER_H
22
23
#include "
emlsr-manager.h
"
24
25
#include <optional>
26
27
namespace
ns3
28
{
29
35
class
DefaultEmlsrManager
:
public
EmlsrManager
36
{
37
public
:
42
static
TypeId
GetTypeId
();
43
44
DefaultEmlsrManager
();
45
~DefaultEmlsrManager
()
override
;
46
47
protected
:
48
uint8_t
GetLinkToSendEmlOmn
()
override
;
49
std::optional<uint8_t>
ResendNotification
(
Ptr<const WifiMpdu>
mpdu)
override
;
50
51
private
:
52
void
DoNotifyMgtFrameReceived
(
Ptr<const WifiMpdu>
mpdu, uint8_t linkId)
override
;
53
void
NotifyEmlsrModeChanged
()
override
;
54
void
NotifyMainPhySwitch
(uint8_t currLinkId, uint8_t nextLinkId)
override
;
55
void
DoNotifyIcfReceived
(uint8_t linkId)
override
;
56
void
DoNotifyUlTxopStart
(uint8_t linkId)
override
;
57
void
DoNotifyTxopEnd
(uint8_t linkId)
override
;
58
59
bool
m_switchAuxPhy
;
61
Ptr<WifiPhy>
m_auxPhyToReconnect
;
64
};
65
66
}
// namespace ns3
67
68
#endif
/* DEFAULT_EMLSR_MANAGER_H */
ns3::DefaultEmlsrManager
DefaultEmlsrManager is the default EMLSR manager.
Definition:
default-emlsr-manager.h:36
ns3::DefaultEmlsrManager::DoNotifyMgtFrameReceived
void DoNotifyMgtFrameReceived(Ptr< const WifiMpdu > mpdu, uint8_t linkId) override
Notify the subclass of the reception of a management frame addressed to us.
Definition:
default-emlsr-manager.cc:67
ns3::DefaultEmlsrManager::NotifyEmlsrModeChanged
void NotifyEmlsrModeChanged() override
Notify subclass that EMLSR mode changed.
Definition:
default-emlsr-manager.cc:91
ns3::DefaultEmlsrManager::m_auxPhyToReconnect
Ptr< WifiPhy > m_auxPhyToReconnect
Aux PHY the ChannelAccessManager of the link on which the main PHY is operating has to connect a list...
Definition:
default-emlsr-manager.h:61
ns3::DefaultEmlsrManager::DoNotifyUlTxopStart
void DoNotifyUlTxopStart(uint8_t linkId) override
Notify the subclass of the start of an UL TXOP on the given link.
Definition:
default-emlsr-manager.cc:136
ns3::DefaultEmlsrManager::m_switchAuxPhy
bool m_switchAuxPhy
whether Aux PHY should switch channel to operate on the link on which the Main PHY was operating befo...
Definition:
default-emlsr-manager.h:59
ns3::DefaultEmlsrManager::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition:
default-emlsr-manager.cc:37
ns3::DefaultEmlsrManager::DoNotifyIcfReceived
void DoNotifyIcfReceived(uint8_t linkId) override
Notify the subclass of the reception of an initial Control frame on the given link.
Definition:
default-emlsr-manager.cc:130
ns3::DefaultEmlsrManager::ResendNotification
std::optional< uint8_t > ResendNotification(Ptr< const WifiMpdu > mpdu) override
A previous EML Operating Mode Notification frame was dropped.
Definition:
default-emlsr-manager.cc:82
ns3::DefaultEmlsrManager::NotifyMainPhySwitch
void NotifyMainPhySwitch(uint8_t currLinkId, uint8_t nextLinkId) override
Notify subclass that the main PHY is switching channel to operate on another link.
Definition:
default-emlsr-manager.cc:97
ns3::DefaultEmlsrManager::DefaultEmlsrManager
DefaultEmlsrManager()
Definition:
default-emlsr-manager.cc:56
ns3::DefaultEmlsrManager::DoNotifyTxopEnd
void DoNotifyTxopEnd(uint8_t linkId) override
Notify the subclass of the end of a TXOP on the given link.
Definition:
default-emlsr-manager.cc:142
ns3::DefaultEmlsrManager::~DefaultEmlsrManager
~DefaultEmlsrManager() override
Definition:
default-emlsr-manager.cc:61
ns3::DefaultEmlsrManager::GetLinkToSendEmlOmn
uint8_t GetLinkToSendEmlOmn() override
Definition:
default-emlsr-manager.cc:73
ns3::EmlsrManager
EmlsrManager is an abstract base class defining the API that EHT non-AP MLDs with EMLSR activated can...
Definition:
emlsr-manager.h:47
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
emlsr-manager.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
model
eht
default-emlsr-manager.h
Generated on Sun Mar 3 2024 17:11:10 for ns-3 by
1.9.1