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