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
eht-configuration.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2021 DERONNE SOFTWARE ENGINEERING
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
* Authors: Sébastien Deronne <sebastien.deronne@gmail.com>
18
* Stefano Avallone <stavallo@unina.it>
19
*/
20
21
#ifndef EHT_CONFIGURATION_H
22
#define EHT_CONFIGURATION_H
23
24
#include "ns3/deprecated.h"
25
#include "ns3/nstime.h"
26
#include "ns3/object.h"
27
#include "ns3/wifi-utils.h"
28
29
#include <list>
30
#include <map>
31
32
namespace
ns3
33
{
34
35
/// default MediumSyncDelay timer duration (max PPDU TX time rounded to a multiple of 32 us)
36
static
constexpr
uint16_t
DEFAULT_MSD_DURATION_USEC
= 5484 / 32 * 32;
37
38
/// default MediumSyncDelay timer OFDM ED threshold
39
static
constexpr
int8_t
DEFAULT_MSD_OFDM_ED_THRESH
= -72;
40
41
/// default MediumSyncDelay max number of TXOP attempts
42
static
constexpr
uint8_t
DEFAULT_MSD_MAX_N_TXOPS
= 1;
43
44
/**
45
* \brief TID-to-Link Mapping Negotiation Support
46
*/
47
enum class
WifiTidToLinkMappingNegSupport
: uint8_t
48
{
49
NOT_SUPPORTED
= 0,
50
SAME_LINK_SET
= 1,
51
ANY_LINK_SET
= 3
52
};
53
54
NS_DEPRECATED_3_42
(
"Use WifiTidToLinkMappingNegSupport::NOT_SUPPORTED instead"
)
55
static constexpr auto
WIFI_TID_TO_LINK_MAPPING_NOT_SUPPORTED
=
WifiTidToLinkMappingNegSupport
::
56
NOT_SUPPORTED
;
//!< \deprecated See WifiTidToLinkMappingNegSupport::NOT_SUPPORTED
57
NS_DEPRECATED_3_42
("Use
WifiTidToLinkMappingNegSupport
::
SAME_LINK_SET
instead")
58
static constexpr auto
WIFI_TID_TO_LINK_MAPPING_SAME_LINK_SET
=
WifiTidToLinkMappingNegSupport
::
59
SAME_LINK_SET
;
//!< \deprecated See WifiTidToLinkMappingNegSupport::SAME_LINK_SET
60
NS_DEPRECATED_3_42
("Use
WifiTidToLinkMappingNegSupport
::
ANY_LINK_SET
instead")
61
static constexpr auto
WIFI_TID_TO_LINK_MAPPING_ANY_LINK_SET
=
62
WifiTidToLinkMappingNegSupport
::
ANY_LINK_SET
;
//!< \deprecated See
63
//!< WifiTidToLinkMappingNegSupport::ANY_LINK_SET
64
65
/**
66
* \brief Stream insertion operator.
67
* \param [in] os The reference to the output stream.
68
* \param [in] negsupport The WifiTidToLinkMappingNegSupport.
69
* \return The reference to the output stream.
70
*/
71
std
::ostream& operator<<(
std
::ostream& os,
WifiTidToLinkMappingNegSupport
negsupport);
72
73
/**
74
* \brief EHT configuration
75
* \ingroup wifi
76
*
77
* This object stores EHT configuration information, for use in modifying
78
* AP or STA behavior and for constructing EHT-related information elements.
79
*
80
*/
81
class
EhtConfiguration
: public
Object
82
{
83
public
:
84
EhtConfiguration
();
85
~EhtConfiguration
()
override
;
86
87
/**
88
* \brief Get the type ID.
89
* \return the object TypeId
90
*/
91
static
TypeId
GetTypeId();
92
93
/**
94
* \param dir the direction for the requested TID-to-Link Mapping
95
* \return a TID-indexed map of the list of links where each TID is mapped to
96
*/
97
WifiTidLinkMapping
GetTidLinkMapping(
WifiDirection
dir
)
const
;
98
99
/**
100
* Set the TID-to-Link mapping for the given direction.
101
*
102
* \param dir the direction for the TID-to-Link Mapping
103
* \param mapping a list-of-TIDs-indexed map of the list of links where the TIDs are mapped to
104
*/
105
void
SetTidLinkMapping(
WifiDirection
dir
,
106
const
std::map<std::list<uint8_t>, std::list<uint8_t>>& mapping);
107
108
private
:
109
bool
m_emlsrActivated
;
//!< whether EMLSR option is activated
110
Time
m_transitionTimeout
;
//!< Transition timeout
111
Time
m_mediumSyncDuration
;
//!< duration of the MediumSyncDelay timer
112
int8_t
m_msdOfdmEdThreshold
;
//!< MediumSyncDelay OFDM ED threshold
113
uint8_t
m_msdMaxNTxops
;
//!< MediumSyncDelay max number of TXOPs
114
WifiTidToLinkMappingNegSupport
115
m_tidLinkMappingSupport
;
//!< TID-to-Link Mapping Negotiation Support
116
std::map<std::list<uint64_t>, std::list<uint64_t>>
117
m_linkMappingDl
;
//!< TIDs-indexed Link Mapping for downlink
118
std::map<std::list<uint64_t>, std::list<uint64_t>>
119
m_linkMappingUl
;
//!< TIDs-indexed Link Mapping for uplink
120
};
121
122
}
// namespace ns3
123
124
#endif
/* EHT_CONFIGURATION_H */
int8_t
ns3::EhtConfiguration
EHT configuration.
Definition:
eht-configuration.h:82
ns3::EhtConfiguration::m_mediumSyncDuration
Time m_mediumSyncDuration
duration of the MediumSyncDelay timer
Definition:
eht-configuration.h:111
ns3::EhtConfiguration::m_emlsrActivated
bool m_emlsrActivated
whether EMLSR option is activated
Definition:
eht-configuration.h:109
ns3::EhtConfiguration::m_transitionTimeout
Time m_transitionTimeout
Transition timeout.
Definition:
eht-configuration.h:110
ns3::EhtConfiguration::m_linkMappingDl
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingDl
TIDs-indexed Link Mapping for downlink.
Definition:
eht-configuration.h:117
ns3::EhtConfiguration::m_tidLinkMappingSupport
WifiTidToLinkMappingNegSupport m_tidLinkMappingSupport
TID-to-Link Mapping Negotiation Support.
Definition:
eht-configuration.h:115
ns3::EhtConfiguration::m_msdMaxNTxops
uint8_t m_msdMaxNTxops
MediumSyncDelay max number of TXOPs.
Definition:
eht-configuration.h:113
ns3::EhtConfiguration::m_linkMappingUl
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingUl
TIDs-indexed Link Mapping for uplink.
Definition:
eht-configuration.h:119
ns3::EhtConfiguration::m_msdOfdmEdThreshold
int8_t m_msdOfdmEdThreshold
MediumSyncDelay OFDM ED threshold.
Definition:
eht-configuration.h:112
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:89
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:105
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
NS_DEPRECATED_3_42
#define NS_DEPRECATED_3_42(msg)
Tag for things deprecated in version ns-3.42.
Definition:
deprecated.h:102
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::DEFAULT_MSD_MAX_N_TXOPS
static constexpr uint8_t DEFAULT_MSD_MAX_N_TXOPS
default MediumSyncDelay max number of TXOP attempts
Definition:
eht-configuration.h:42
ns3::WIFI_TID_TO_LINK_MAPPING_SAME_LINK_SET
static constexpr auto WIFI_TID_TO_LINK_MAPPING_SAME_LINK_SET
Definition:
eht-configuration.h:58
ns3::WIFI_TID_TO_LINK_MAPPING_NOT_SUPPORTED
static constexpr auto WIFI_TID_TO_LINK_MAPPING_NOT_SUPPORTED
Definition:
eht-configuration.h:55
ns3::WifiTidToLinkMappingNegSupport
WifiTidToLinkMappingNegSupport
TID-to-Link Mapping Negotiation Support.
Definition:
eht-configuration.h:48
ns3::WifiTidToLinkMappingNegSupport::SAME_LINK_SET
@ SAME_LINK_SET
ns3::WifiTidToLinkMappingNegSupport::NOT_SUPPORTED
@ NOT_SUPPORTED
ns3::WifiTidToLinkMappingNegSupport::ANY_LINK_SET
@ ANY_LINK_SET
ns3::WifiDirection
WifiDirection
Wifi direction.
Definition:
wifi-utils.h:44
ns3::DEFAULT_MSD_OFDM_ED_THRESH
static constexpr int8_t DEFAULT_MSD_OFDM_ED_THRESH
default MediumSyncDelay timer OFDM ED threshold
Definition:
eht-configuration.h:39
ns3::WIFI_TID_TO_LINK_MAPPING_ANY_LINK_SET
static constexpr auto WIFI_TID_TO_LINK_MAPPING_ANY_LINK_SET
Definition:
eht-configuration.h:61
ns3::WifiTidLinkMapping
std::map< uint8_t, std::set< uint8_t > > WifiTidLinkMapping
TID-indexed map of the link set to which the TID is mapped.
Definition:
wifi-utils.h:75
ns3::DEFAULT_MSD_DURATION_USEC
static constexpr uint16_t DEFAULT_MSD_DURATION_USEC
default MediumSyncDelay timer duration (max PPDU TX time rounded to a multiple of 32 us)
Definition:
eht-configuration.h:36
std
STL namespace.
dir
std::string dir
Definition:
tcp-bbr-example.cc:68
src
wifi
model
eht
eht-configuration.h
Generated on Tue May 28 2024 23:40:09 for ns-3 by
1.9.6