A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
default-ap-emlsr-manager.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2023 Universita' di Napoli Federico II
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Stefano Avallone <stavallo@unina.it>
7 */
8
10
11#include "ns3/log.h"
12#include "ns3/wifi-phy.h"
13#include "ns3/wifi-psdu.h"
14
15namespace ns3
16{
17
18NS_LOG_COMPONENT_DEFINE("DefaultApEmlsrManager");
19
20NS_OBJECT_ENSURE_REGISTERED(DefaultApEmlsrManager);
21
22TypeId
24{
25 static TypeId tid = TypeId("ns3::DefaultApEmlsrManager")
27 .SetGroupName("Wifi")
28 .AddConstructor<DefaultApEmlsrManager>();
29 return tid;
30}
31
36
41
42Time
44 const WifiTxVector& txVector,
45 WifiPhyBand band)
46{
47 NS_LOG_FUNCTION(this << psdu << txVector << band);
48 // EMLSR clients switch back to listening operation at the end of the PPDU
49 return WifiPhy::CalculateTxDuration(psdu, txVector, band);
50}
51
52bool
57
58} // namespace ns3
ApEmlsrManager is an abstract base class defining the API that EHT AP MLDs with EMLSR activated can u...
DefaultApEmlsrManager is the default AP EMLSR manager.
Time GetDelayOnTxPsduNotForEmlsr(Ptr< const WifiPsdu > psdu, const WifiTxVector &txVector, WifiPhyBand band) override
This method is intended to be called when the AP MLD starts transmitting an SU frame that is not addr...
static TypeId GetTypeId()
Get the type ID.
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
Definition nstime.h:94
a unique identifier for an interface.
Definition type-id.h:48
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition type-id.cc:1001
static Time CalculateTxDuration(uint32_t size, const WifiTxVector &txVector, WifiPhyBand band, uint16_t staId=SU_STA_ID)
Definition wifi-phy.cc:1572
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition log.h:191
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition object-base.h:35
WifiPhyBand
Identifies the PHY band.
Every class exported by the ns3 library is enclosed in the ns3 namespace.