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
vht-configuration.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2018 Sébastien Deronne
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Sébastien Deronne <sebastien.deronne@gmail.com>
7
*/
8
9
#ifndef VHT_CONFIGURATION_H
10
#define VHT_CONFIGURATION_H
11
12
#include "ns3/deprecated.h"
13
#include "ns3/object.h"
14
#include "ns3/wifi-units.h"
15
16
#include <map>
17
#include <tuple>
18
19
namespace
ns3
20
{
21
22
/**
23
* @brief VHT configuration
24
* @ingroup wifi
25
*
26
* This object stores VHT configuration information, for use in modifying
27
* AP or STA behavior and for constructing VHT-related information elements.
28
*
29
*/
30
class
VhtConfiguration
:
public
Object
31
{
32
public
:
33
VhtConfiguration
();
34
~VhtConfiguration
()
override
;
35
36
/**
37
* @brief Get the type ID.
38
* @return the object TypeId
39
*/
40
static
TypeId
GetTypeId
();
41
42
/**
43
* Enable or disable 160 MHz operation support.
44
*
45
* @param enable true if 20 MHz, 40 MHz, 80 MHz and 160 MHz operation is to be supported,
46
* false if 20 MHz, 40 MHz and 80 MHz operation is to be supported
47
*/
48
NS_DEPRECATED_3_44
(
"Set the m_160MHzSupported member variable instead"
)
49
void
Set160MHzOperationSupported
(
bool
enable);
50
51
/**
52
* @return true if 20 MHz, 40 MHz, 80 MHz and 160 MHz operation is supported,
53
* false if 20 MHz, 40 MHz and 80 MHz operation is supported
54
*/
55
NS_DEPRECATED_3_44
(
"Get the m_160MHzSupported member variable instead"
)
56
bool
Get160MHzOperationSupported
()
const
;
57
58
using
SecondaryCcaSensitivityThresholds
=
59
std::tuple<dBm_u, dBm_u, dBm_u>;
//!< Tuple identifying CCA sensitivity thresholds for
60
//!< secondary channels
61
62
/**
63
* Sets the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel.
64
* The thresholds are defined as a tuple {threshold for 20MHz PPDUs,
65
* threshold for 40MHz PPDUs, threshold for 80MHz PPDUs}.
66
*
67
* @param thresholds the CCA sensitivity thresholds
68
*/
69
void
SetSecondaryCcaSensitivityThresholds
(
const
SecondaryCcaSensitivityThresholds
& thresholds);
70
/**
71
* @return the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel
72
*/
73
SecondaryCcaSensitivityThresholds
GetSecondaryCcaSensitivityThresholds
()
const
;
74
75
/**
76
* @return the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel,
77
* indexed by signal bandwidth
78
*/
79
const
std::map<MHz_u, dBm_u>&
GetSecondaryCcaSensitivityThresholdsPerBw
()
const
;
80
81
bool
m_160MHzSupported
;
///< whether 160 MHz operation is supported
82
83
private
:
84
std::map<MHz_u, dBm_u>
85
m_secondaryCcaSensitivityThresholds
;
///< CCA sensitivity thresholds for signals that do not
86
///< occupy the primary channel, indexed by signal
87
///< bandwidth
88
};
89
90
}
// namespace ns3
91
92
#endif
/* VHT_CONFIGURATION_H */
ns3::Object
A base class which provides memory management and object aggregation.
Definition
object.h:78
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3::VhtConfiguration
VHT configuration.
Definition
vht-configuration.h:31
ns3::VhtConfiguration::Set160MHzOperationSupported
void Set160MHzOperationSupported(bool enable)
Enable or disable 160 MHz operation support.
Definition
vht-configuration.cc:68
ns3::VhtConfiguration::SecondaryCcaSensitivityThresholds
std::tuple< dBm_u, dBm_u, dBm_u > SecondaryCcaSensitivityThresholds
Tuple identifying CCA sensitivity thresholds for secondary channels.
Definition
vht-configuration.h:58
ns3::VhtConfiguration::SetSecondaryCcaSensitivityThresholds
void SetSecondaryCcaSensitivityThresholds(const SecondaryCcaSensitivityThresholds &thresholds)
Sets the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel.
Definition
vht-configuration.cc:81
ns3::VhtConfiguration::GetSecondaryCcaSensitivityThresholdsPerBw
const std::map< MHz_u, dBm_u > & GetSecondaryCcaSensitivityThresholdsPerBw() const
Definition
vht-configuration.cc:99
ns3::VhtConfiguration::Get160MHzOperationSupported
bool Get160MHzOperationSupported() const
Definition
vht-configuration.cc:75
ns3::VhtConfiguration::VhtConfiguration
VhtConfiguration()
Definition
vht-configuration.cc:24
ns3::VhtConfiguration::m_160MHzSupported
bool m_160MHzSupported
whether 160 MHz operation is supported
Definition
vht-configuration.h:81
ns3::VhtConfiguration::~VhtConfiguration
~VhtConfiguration() override
Definition
vht-configuration.cc:29
ns3::VhtConfiguration::GetSecondaryCcaSensitivityThresholds
SecondaryCcaSensitivityThresholds GetSecondaryCcaSensitivityThresholds() const
Definition
vht-configuration.cc:91
ns3::VhtConfiguration::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
vht-configuration.cc:35
ns3::VhtConfiguration::m_secondaryCcaSensitivityThresholds
std::map< MHz_u, dBm_u > m_secondaryCcaSensitivityThresholds
CCA sensitivity thresholds for signals that do not occupy the primary channel, indexed by signal band...
Definition
vht-configuration.h:85
NS_DEPRECATED_3_44
#define NS_DEPRECATED_3_44(msg)
Tag for things deprecated in version ns-3.44.
Definition
deprecated.h:91
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
model
vht
vht-configuration.h
Generated on Thu Jan 16 2025 09:20:53 for ns-3 by
1.11.0