A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
wifi-remote-station-info.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2005,2006,2007 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 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18 */
19
20#ifndef WIFI_REMOTE_STATION_INFO_H
21#define WIFI_REMOTE_STATION_INFO_H
22
23#include "ns3/nstime.h"
24#include "ns3/uinteger.h"
25
26namespace ns3
27{
28
29/**
30 * \brief TID independent remote station statistics
31 *
32 * Structure is similar to struct sta_info in Linux kernel (see
33 * net/mac80211/sta_info.h)
34 */
36{
37 public:
39 virtual ~WifiRemoteStationInfo();
40
41 /**
42 * \brief Updates average frame error rate when data or RTS was transmitted successfully.
43 *
44 * \param retryCounter is SLRC or SSRC value at the moment of success transmission.
45 */
46 void NotifyTxSuccess(uint32_t retryCounter);
47 /**
48 * Updates average frame error rate when final data or RTS has failed.
49 */
50 void NotifyTxFailed();
51 /**
52 * Return frame error rate (probability that frame is corrupted due to transmission error).
53 * \returns the frame error rate
54 */
55 double GetFrameErrorRate() const;
56
57 private:
58 /**
59 * \brief Calculate averaging coefficient for frame error rate. Depends on time of the last
60 * update.
61 *
62 * \attention Calling this method twice gives different results,
63 * because it resets time of last update.
64 *
65 * \return average coefficient for frame error rate
66 */
68
69 Time m_memoryTime; ///< averaging coefficient depends on the memory time
70 Time m_lastUpdate; ///< when last update has occurred
71 double m_failAvg; ///< moving percentage of failed frames
72};
73
74} // namespace ns3
75
76#endif /* WIFI_REMOTE_STATION_INFO_H */
Simulation virtual time values and global simulation resolution.
Definition: nstime.h:105
TID independent remote station statistics.
double m_failAvg
moving percentage of failed frames
Time m_lastUpdate
when last update has occurred
double CalculateAveragingCoefficient()
Calculate averaging coefficient for frame error rate.
void NotifyTxSuccess(uint32_t retryCounter)
Updates average frame error rate when data or RTS was transmitted successfully.
Time m_memoryTime
averaging coefficient depends on the memory time
double GetFrameErrorRate() const
Return frame error rate (probability that frame is corrupted due to transmission error).
void NotifyTxFailed()
Updates average frame error rate when final data or RTS has failed.
Every class exported by the ns3 library is enclosed in the ns3 namespace.