A Discrete-Event Network Simulator
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/nstime.h"
14#include "ns3/object.h"
15#include "ns3/wifi-utils.h"
16
17#include <list>
18#include <map>
19
20namespace ns3
21{
22
23/// default MediumSyncDelay timer duration (max PPDU TX time rounded to a multiple of 32 us)
24static constexpr uint16_t DEFAULT_MSD_DURATION_USEC = 5484 / 32 * 32;
25
26/// default MediumSyncDelay timer OFDM ED threshold
27static constexpr int8_t DEFAULT_MSD_OFDM_ED_THRESH = -72;
28
29/// default MediumSyncDelay max number of TXOP attempts
30static constexpr uint8_t DEFAULT_MSD_MAX_N_TXOPS = 1;
31
32/**
33 * @brief TID-to-Link Mapping Negotiation Support
34 */
41
42/**
43 * @brief Stream insertion operator.
44 * @param [in] os The reference to the output stream.
45 * @param [in] negsupport The WifiTidToLinkMappingNegSupport.
46 * @return The reference to the output stream.
47 */
48std::ostream& operator<<(std::ostream& os, WifiTidToLinkMappingNegSupport negsupport);
49
50/**
51 * @brief EHT configuration
52 * @ingroup wifi
53 *
54 * This object stores EHT configuration information, for use in modifying
55 * AP or STA behavior and for constructing EHT-related information elements.
56 *
57 */
59{
60 public:
62 ~EhtConfiguration() override;
63
64 /**
65 * @brief Get the type ID.
66 * @return the object TypeId
67 */
68 static TypeId GetTypeId();
69
70 /**
71 * @param dir the direction for the requested TID-to-Link Mapping
72 * @return a TID-indexed map of the list of links where each TID is mapped to
73 */
75
76 /**
77 * Set the TID-to-Link mapping for the given direction.
78 *
79 * @param dir the direction for the TID-to-Link Mapping
80 * @param mapping a list-of-TIDs-indexed map of the list of links where the TIDs are mapped to
81 */
83 const std::map<std::list<uint8_t>, std::list<uint8_t>>& mapping);
84
85 bool m_emlsrActivated; //!< whether EMLSR option is activated
86 Time m_transitionTimeout; //!< Transition timeout
87 Time m_mediumSyncDuration; //!< duration of the MediumSyncDelay timer
88 int8_t m_msdOfdmEdThreshold; //!< MediumSyncDelay OFDM ED threshold
89 uint8_t m_msdMaxNTxops; //!< MediumSyncDelay max number of TXOPs
91 m_tidLinkMappingSupport; //!< TID-to-Link Mapping Negotiation Support
92 std::map<std::list<uint64_t>, std::list<uint64_t>>
93 m_linkMappingDl; //!< TIDs-indexed Link Mapping for downlink
94 std::map<std::list<uint64_t>, std::list<uint64_t>>
95 m_linkMappingUl; //!< TIDs-indexed Link Mapping for uplink
96 dB_u m_per20CcaSensitivityThreshold; //!< CCA threshold for Per 20MHz check
97};
98
99} // namespace ns3
100
101#endif /* EHT_CONFIGURATION_H */
static TypeId GetTypeId()
Get the type ID.
Time m_mediumSyncDuration
duration of the MediumSyncDelay timer
bool m_emlsrActivated
whether EMLSR option is activated
WifiTidLinkMapping GetTidLinkMapping(WifiDirection dir) const
Time m_transitionTimeout
Transition timeout.
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingDl
TIDs-indexed Link Mapping for downlink.
void SetTidLinkMapping(WifiDirection dir, const std::map< std::list< uint8_t >, std::list< uint8_t > > &mapping)
Set the TID-to-Link mapping for the given direction.
WifiTidToLinkMappingNegSupport m_tidLinkMappingSupport
TID-to-Link Mapping Negotiation Support.
uint8_t m_msdMaxNTxops
MediumSyncDelay max number of TXOPs.
std::map< std::list< uint64_t >, std::list< uint64_t > > m_linkMappingUl
TIDs-indexed Link Mapping for uplink.
dB_u m_per20CcaSensitivityThreshold
CCA threshold for Per 20MHz check.
int8_t m_msdOfdmEdThreshold
MediumSyncDelay OFDM ED threshold.
Object()
Constructor.
Definition object.cc:96
Simulation virtual time values and global simulation resolution.
Definition nstime.h:96
a unique identifier for an interface.
Definition type-id.h:49
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static constexpr uint8_t DEFAULT_MSD_MAX_N_TXOPS
default MediumSyncDelay max number of TXOP attempts
WifiTidToLinkMappingNegSupport
TID-to-Link Mapping Negotiation Support.
std::ostream & operator<<(std::ostream &os, const Angles &a)
Definition angles.cc:148
WifiDirection
Wifi direction.
Definition wifi-utils.h:40
static constexpr int8_t DEFAULT_MSD_OFDM_ED_THRESH
default MediumSyncDelay timer OFDM ED threshold
std::map< tid_t, std::set< linkId_t > > WifiTidLinkMapping
TID-indexed map of the link set to which the TID is mapped.
Definition wifi-utils.h:77
double dB_u
dB weak type
Definition wifi-units.h:28
static constexpr uint16_t DEFAULT_MSD_DURATION_USEC
default MediumSyncDelay timer duration (max PPDU TX time rounded to a multiple of 32 us)
std::string dir