A Discrete-Event Network Simulator
API
wifi-phy-listener.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  * Sébastien Deronne <sebastien.deronne@gmail.com>
19  */
20 
21 #ifndef WIFI_PHY_LISTENER_H
22 #define WIFI_PHY_LISTENER_H
23 
24 #include "wifi-phy-common.h"
25 
26 #include <vector>
27 
28 namespace ns3
29 {
30 
35 {
36  public:
37  /****************************************************************
38  * This destructor is needed.
39  ****************************************************************/
40 
41  virtual ~WifiPhyListener()
42  {
43  }
44 
57  virtual void NotifyRxStart(Time duration) = 0;
63  virtual void NotifyRxEndOk() = 0;
69  virtual void NotifyRxEndError() = 0;
80  virtual void NotifyTxStart(Time duration, double txPowerDbm) = 0;
101  virtual void NotifyCcaBusyStart(Time duration,
102  WifiChannelListType channelType,
103  const std::vector<Time>& per20MhzDurations) = 0;
111  virtual void NotifySwitchingStart(Time duration) = 0;
115  virtual void NotifySleep() = 0;
119  virtual void NotifyOff() = 0;
123  virtual void NotifyWakeup() = 0;
127  virtual void NotifyOn() = 0;
128 };
129 
130 } // namespace ns3
131 
132 #endif /* WIFI_PHY_LISTENER_H */
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
receive notifications about PHY events.
virtual void NotifyRxEndError()=0
We have received the last bit of a packet for which NotifyRxStart was invoked first and,...
virtual void NotifySwitchingStart(Time duration)=0
virtual void NotifyCcaBusyStart(Time duration, WifiChannelListType channelType, const std::vector< Time > &per20MhzDurations)=0
virtual void NotifyOff()=0
Notify listeners that we went to switch off.
virtual void NotifyRxEndOk()=0
We have received the last bit of a packet for which NotifyRxStart was invoked first and,...
virtual void NotifySleep()=0
Notify listeners that we went to sleep.
virtual void NotifyOn()=0
Notify listeners that we went to switch on.
virtual void NotifyTxStart(Time duration, double txPowerDbm)=0
virtual void NotifyRxStart(Time duration)=0
virtual void NotifyWakeup()=0
Notify listeners that we woke up.
WifiChannelListType
Enumeration of the possible channel-list parameter elements defined in Table 8-5 of IEEE 802....
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Declaration of the following enums: