A Discrete-Event Network Simulator
API
yans-wifi-phy.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2005,2006 INRIA
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation;
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  *
17  * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18  * Ghada Badawy <gbadawy@gmail.com>
19  * Sébastien Deronne <sebastien.deronne@gmail.com>
20  */
21 
22 #ifndef YANS_WIFI_PHY_H
23 #define YANS_WIFI_PHY_H
24 
25 #include "wifi-phy.h"
26 
27 namespace ns3
28 {
29 
30 class YansWifiChannel;
31 
47 class YansWifiPhy : public WifiPhy
48 {
49  public:
54  static TypeId GetTypeId();
55 
56  YansWifiPhy();
57  ~YansWifiPhy() override;
58 
59  void SetInterferenceHelper(const Ptr<InterferenceHelper> helper) override;
60  void StartTx(Ptr<const WifiPpdu> ppdu) override;
61  Ptr<Channel> GetChannel() const override;
62  uint16_t GetGuardBandwidth(uint16_t currentChannelWidth) const override;
63  std::tuple<double, double, double> GetTxMaskRejectionParams() const override;
64  WifiSpectrumBandInfo GetBand(uint16_t bandWidth, uint8_t bandIndex = 0) override;
67  const WifiSpectrumBandIndices& indices) const override;
68 
75 
76  protected:
77  void DoDispose() override;
78 
79  private:
81 };
82 
83 } // namespace ns3
84 
85 #endif /* YANS_WIFI_PHY_H */
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
a unique identifier for an interface.
Definition: type-id.h:59
802.11 PHY layer model
Definition: wifi-phy.h:53
802.11 PHY layer model
Definition: yans-wifi-phy.h:48
WifiSpectrumBandFrequencies ConvertIndicesToFrequencies(const WifiSpectrumBandIndices &indices) const override
This is a helper function to convert start and stop indices to start and stop frequencies.
Ptr< YansWifiChannel > m_channel
YansWifiChannel that this YansWifiPhy is connected to.
Definition: yans-wifi-phy.h:80
FrequencyRange GetCurrentFrequencyRange() const override
Get the frequency range of the current RF interface.
void StartTx(Ptr< const WifiPpdu > ppdu) override
uint16_t GetGuardBandwidth(uint16_t currentChannelWidth) const override
WifiSpectrumBandInfo GetBand(uint16_t bandWidth, uint8_t bandIndex=0) override
Get the info of a given band.
void SetChannel(const Ptr< YansWifiChannel > channel)
Set the YansWifiChannel this YansWifiPhy is to be connected to.
std::tuple< double, double, double > GetTxMaskRejectionParams() const override
~YansWifiPhy() override
void SetInterferenceHelper(const Ptr< InterferenceHelper > helper) override
Sets the interference helper.
Ptr< Channel > GetChannel() const override
Return the Channel this WifiPhy is connected to.
void DoDispose() override
Destructor implementation.
static TypeId GetTypeId()
Get the type ID.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::pair< uint64_t, uint64_t > WifiSpectrumBandFrequencies
typedef for a pair of start and stop frequencies in Hz to represent a band
std::pair< uint32_t, uint32_t > WifiSpectrumBandIndices
typedef for a pair of start and stop sub-band indices
channel
Definition: third.py:88
Struct defining a frequency range between minFrequency (MHz) and maxFrequency (MHz).
WifiSpectrumBandInfo structure containing info about a spectrum band.