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
constant-rate-wifi-manager.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2005,2006 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7
*/
8
9
#ifndef CONSTANT_RATE_WIFI_MANAGER_H
10
#define CONSTANT_RATE_WIFI_MANAGER_H
11
12
#include "ns3/wifi-remote-station-manager.h"
13
14
namespace
ns3
15
{
16
17
/**
18
* \ingroup wifi
19
* \brief use constant rates for data and RTS transmissions
20
*
21
* This class uses always the same transmission rate for every
22
* packet sent.
23
*/
24
class
ConstantRateWifiManager
:
public
WifiRemoteStationManager
25
{
26
public
:
27
/**
28
* \brief Get the type ID.
29
* \return the object TypeId
30
*/
31
static
TypeId
GetTypeId
();
32
ConstantRateWifiManager
();
33
~ConstantRateWifiManager
()
override
;
34
35
private
:
36
WifiRemoteStation
*
DoCreateStation
()
const override
;
37
void
DoReportRxOk
(
WifiRemoteStation
* station,
double
rxSnr,
WifiMode
txMode)
override
;
38
void
DoReportRtsFailed
(
WifiRemoteStation
* station)
override
;
39
void
DoReportDataFailed
(
WifiRemoteStation
* station)
override
;
40
void
DoReportRtsOk
(
WifiRemoteStation
* station,
41
double
ctsSnr,
42
WifiMode
ctsMode,
43
double
rtsSnr)
override
;
44
void
DoReportDataOk
(
WifiRemoteStation
* station,
45
double
ackSnr,
46
WifiMode
ackMode,
47
double
dataSnr,
48
MHz_u
dataChannelWidth,
49
uint8_t dataNss)
override
;
50
void
DoReportFinalRtsFailed
(
WifiRemoteStation
* station)
override
;
51
void
DoReportFinalDataFailed
(
WifiRemoteStation
* station)
override
;
52
WifiTxVector
DoGetDataTxVector
(
WifiRemoteStation
* station,
MHz_u
allowedWidth)
override
;
53
WifiTxVector
DoGetRtsTxVector
(
WifiRemoteStation
* station)
override
;
54
55
WifiMode
m_dataMode
;
//!< Wifi mode for unicast Data frames
56
WifiMode
m_ctlMode
;
//!< Wifi mode for RTS frames
57
};
58
59
}
// namespace ns3
60
61
#endif
/* CONSTANT_RATE_WIFI_MANAGER_H */
double
ns3::ConstantRateWifiManager
use constant rates for data and RTS transmissions
Definition
constant-rate-wifi-manager.h:25
ns3::ConstantRateWifiManager::DoReportRxOk
void DoReportRxOk(WifiRemoteStation *station, double rxSnr, WifiMode txMode) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:66
ns3::ConstantRateWifiManager::DoGetRtsTxVector
WifiTxVector DoGetRtsTxVector(WifiRemoteStation *station) override
Definition
constant-rate-wifi-manager.cc:139
ns3::ConstantRateWifiManager::m_ctlMode
WifiMode m_ctlMode
Wifi mode for RTS frames.
Definition
constant-rate-wifi-manager.h:56
ns3::ConstantRateWifiManager::DoReportRtsFailed
void DoReportRtsFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:72
ns3::ConstantRateWifiManager::DoReportFinalRtsFailed
void DoReportFinalRtsFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:104
ns3::ConstantRateWifiManager::ConstantRateWifiManager
ConstantRateWifiManager()
Definition
constant-rate-wifi-manager.cc:47
ns3::ConstantRateWifiManager::DoCreateStation
WifiRemoteStation * DoCreateStation() const override
Definition
constant-rate-wifi-manager.cc:58
ns3::ConstantRateWifiManager::DoReportRtsOk
void DoReportRtsOk(WifiRemoteStation *station, double ctsSnr, WifiMode ctsMode, double rtsSnr) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:84
ns3::ConstantRateWifiManager::DoGetDataTxVector
WifiTxVector DoGetDataTxVector(WifiRemoteStation *station, MHz_u allowedWidth) override
Definition
constant-rate-wifi-manager.cc:116
ns3::ConstantRateWifiManager::DoReportDataFailed
void DoReportDataFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:78
ns3::ConstantRateWifiManager::m_dataMode
WifiMode m_dataMode
Wifi mode for unicast Data frames.
Definition
constant-rate-wifi-manager.h:55
ns3::ConstantRateWifiManager::DoReportFinalDataFailed
void DoReportFinalDataFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:110
ns3::ConstantRateWifiManager::GetTypeId
static TypeId GetTypeId()
Get the type ID.
Definition
constant-rate-wifi-manager.cc:27
ns3::ConstantRateWifiManager::~ConstantRateWifiManager
~ConstantRateWifiManager() override
Definition
constant-rate-wifi-manager.cc:52
ns3::ConstantRateWifiManager::DoReportDataOk
void DoReportDataOk(WifiRemoteStation *station, double ackSnr, WifiMode ackMode, double dataSnr, MHz_u dataChannelWidth, uint8_t dataNss) override
This method is a pure virtual method that must be implemented by the sub-class.
Definition
constant-rate-wifi-manager.cc:93
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
ns3::WifiMode
represent a single transmission mode
Definition
wifi-mode.h:40
ns3::WifiRemoteStationManager
hold a list of per-remote-station state.
Definition
wifi-remote-station-manager.h:129
ns3::WifiTxVector
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
Definition
wifi-tx-vector.h:101
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::WifiRemoteStation
hold per-remote-station state.
Definition
wifi-remote-station-manager.h:59
src
wifi
model
rate-control
constant-rate-wifi-manager.h
Generated on Fri Nov 8 2024 13:59:07 for ns-3 by
1.11.0