A Discrete-Event Network Simulator
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
14namespace 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 */
25{
26 public:
27 /**
28 * \brief Get the type ID.
29 * \return the object TypeId
30 */
31 static TypeId GetTypeId();
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;
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;
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 */
use constant rates for data and RTS transmissions
void DoReportRxOk(WifiRemoteStation *station, double rxSnr, WifiMode txMode) override
This method is a pure virtual method that must be implemented by the sub-class.
WifiTxVector DoGetRtsTxVector(WifiRemoteStation *station) override
WifiMode m_ctlMode
Wifi mode for RTS frames.
void DoReportRtsFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
void DoReportFinalRtsFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
WifiRemoteStation * DoCreateStation() const override
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.
WifiTxVector DoGetDataTxVector(WifiRemoteStation *station, MHz_u allowedWidth) override
void DoReportDataFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
WifiMode m_dataMode
Wifi mode for unicast Data frames.
void DoReportFinalDataFailed(WifiRemoteStation *station) override
This method is a pure virtual method that must be implemented by the sub-class.
static TypeId GetTypeId()
Get the type ID.
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.
a unique identifier for an interface.
Definition type-id.h:48
represent a single transmission mode
Definition wifi-mode.h:40
hold a list of per-remote-station state.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
hold per-remote-station state.