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;
41 double ctsSnr,
43 double rtsSnr) override;
45 double ackSnr,
47 double dataSnr,
49 uint8_t dataNss) 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:49
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...
Ptr< T > Create(Ts &&... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
Definition ptr.h:436
Every class exported by the ns3 library is enclosed in the ns3 namespace.
hold per-remote-station state.