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/object.h"
13
#include "ns3/wifi-units.h"
14
15
#include <map>
16
#include <tuple>
17
18
namespace
ns3
19
{
20
21
/**
22
* \brief VHT configuration
23
* \ingroup wifi
24
*
25
* This object stores VHT configuration information, for use in modifying
26
* AP or STA behavior and for constructing VHT-related information elements.
27
*
28
*/
29
class
VhtConfiguration
:
public
Object
30
{
31
public
:
32
VhtConfiguration
();
33
~VhtConfiguration
()
override
;
34
35
/**
36
* \brief Get the type ID.
37
* \return the object TypeId
38
*/
39
static
TypeId
GetTypeId
();
40
41
/**
42
* Enable or disable 160 MHz operation support.
43
*
44
* \param enable true if 20 MHz, 40 MHz, 80 MHz and 160 MHz operation is to be supported,
45
* false if 20 MHz, 40 MHz and 80 MHz operation is to be supported
46
*/
47
void
Set160MHzOperationSupported
(
bool
enable);
48
/**
49
* \return true if 20 MHz, 40 MHz, 80 MHz and 160 MHz operation is supported,
50
* false if 20 MHz, 40 MHz and 80 MHz operation is supported
51
*/
52
bool
Get160MHzOperationSupported
()
const
;
53
54
using
SecondaryCcaSensitivityThresholds
=
55
std::tuple<dBm_u, dBm_u, dBm_u>;
//!< Tuple identifying CCA sensitivity thresholds for
56
//!< secondary channels
57
58
/**
59
* Sets the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel.
60
* The thresholds are defined as a tuple {threshold for 20MHz PPDUs,
61
* threshold for 40MHz PPDUs, threshold for 80MHz PPDUs}.
62
*
63
* \param thresholds the CCA sensitivity thresholds
64
*/
65
void
SetSecondaryCcaSensitivityThresholds
(
const
SecondaryCcaSensitivityThresholds
& thresholds);
66
/**
67
* \return the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel
68
*/
69
SecondaryCcaSensitivityThresholds
GetSecondaryCcaSensitivityThresholds
()
const
;
70
71
/**
72
* \return the CCA sensitivity thresholds for PPDUs that do not occupy the primary channel,
73
* indexed by signal bandwidth
74
*/
75
const
std::map<MHz_u, dBm_u>&
GetSecondaryCcaSensitivityThresholdsPerBw
()
const
;
76
77
private
:
78
bool
m_160MHzSupported
;
///< whether 160 MHz operation is supported
79
std::map<MHz_u, dBm_u>
80
m_secondaryCcaSensitivityThresholds
;
///< CCA sensitivity thresholds for signals that do not
81
///< occupy the primary channel, indexed by signal
82
///< bandwidth
83
};
84
85
}
// namespace ns3
86
87
#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:30
ns3::VhtConfiguration::Set160MHzOperationSupported
void Set160MHzOperationSupported(bool enable)
Enable or disable 160 MHz operation support.
Definition
vht-configuration.cc:69
ns3::VhtConfiguration::SecondaryCcaSensitivityThresholds
std::tuple< dBm_u, dBm_u, dBm_u > SecondaryCcaSensitivityThresholds
Tuple identifying CCA sensitivity thresholds for secondary channels.
Definition
vht-configuration.h:54
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:82
ns3::VhtConfiguration::GetSecondaryCcaSensitivityThresholdsPerBw
const std::map< MHz_u, dBm_u > & GetSecondaryCcaSensitivityThresholdsPerBw() const
Definition
vht-configuration.cc:100
ns3::VhtConfiguration::Get160MHzOperationSupported
bool Get160MHzOperationSupported() const
Definition
vht-configuration.cc:76
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:78
ns3::VhtConfiguration::~VhtConfiguration
~VhtConfiguration() override
Definition
vht-configuration.cc:29
ns3::VhtConfiguration::GetSecondaryCcaSensitivityThresholds
SecondaryCcaSensitivityThresholds GetSecondaryCcaSensitivityThresholds() const
Definition
vht-configuration.cc:92
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:80
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
model
vht
vht-configuration.h
Generated on Fri Nov 8 2024 13:59:08 for ns-3 by
1.11.0