NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ndn-rtt-mean-deviation.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 //
3 // Copyright (c) 2006 Georgia Tech Research Corporation
4 // (c) 2013 University of Arizona
5 // (c) 2013 University of California, Los Angeles
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License version 2 as
9 // published by the Free Software Foundation;
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // Author: Rajib Bhattacharjea<raj.b@gatech.edu>
21 // Cheng Yi <yic@email.arizona.edu>
22 // Alexander Afanasyev <alexander.afanasyev@ucla.edu>
23 //
24 
25 // Georgia Tech Network Simulator - Round Trip Time Estimation Class
26 // George F. Riley. Georgia Tech, Spring 2002
27 
28 #ifndef NDN_RTT_MEAN_DEVIATION_H
29 #define NDN_RTT_MEAN_DEVIATION_H
30 
31 #include "ndn-rtt-estimator.hpp"
32 
33 namespace ns3 {
34 namespace ndn {
35 
48 public:
49  static TypeId
50  GetTypeId(void);
51 
54 
55  virtual TypeId
56  GetInstanceTypeId(void) const;
57 
58  void
59  SentSeq(SequenceNumber32 seq, uint32_t size);
60  Time
61  AckSeq(SequenceNumber32 ackSeq);
62  void
63  Measurement(Time measure);
64  Time
66  Ptr<RttEstimator>
67  Copy() const;
68  void
69  Reset();
70  void
71  Gain(double g);
72 
73 private:
74  double m_gain; // Filter gain
75  double m_gain2; // Filter gain
76  Time m_variance; // Current variance
77 };
78 
79 } // namespace ndn
80 } // namespace ns3
81 
82 #endif // NDN_RTT_MEAN_DEVIATION
void SentSeq(SequenceNumber32 seq, uint32_t size)
Note that a particular sequence has been sent.
virtual TypeId GetInstanceTypeId(void) const
The modified version of "Mean--Deviation" RTT estimator, as discussed by Van Jacobson that better sui...
Time RetransmitTimeout()
Returns the estimated RTO.
Ptr< RttEstimator > Copy() const
void Reset()
Resets the estimation to its initial state.
Time AckSeq(SequenceNumber32 ackSeq)
Note that a particular ack sequence has been received.
Base class for all RTT Estimators.
void Measurement(Time measure)
Add a new measurement to the estimator.