Index: net/quic/congestion_control/rtt_stats.h |
diff --git a/net/quic/congestion_control/rtt_stats.h b/net/quic/congestion_control/rtt_stats.h |
deleted file mode 100644 |
index 3d256d9ddfa10d468fb33930c6c15e1242a0ff8b..0000000000000000000000000000000000000000 |
--- a/net/quic/congestion_control/rtt_stats.h |
+++ /dev/null |
@@ -1,128 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
-// |
-// A convenience class to store rtt samples and calculate smoothed rtt. |
- |
-#ifndef NET_QUIC_CONGESTION_CONTROL_RTT_STATS_H_ |
-#define NET_QUIC_CONGESTION_CONTROL_RTT_STATS_H_ |
- |
-#include <algorithm> |
- |
-#include "base/basictypes.h" |
-#include "net/quic/quic_protocol.h" |
-#include "net/quic/quic_time.h" |
- |
-namespace net { |
- |
-namespace test { |
-class RttStatsPeer; |
-} // namespace test |
- |
-class NET_EXPORT_PRIVATE RttStats { |
- public: |
- RttStats(); |
- |
- // Returns true if any RTT measurements have been made. |
- bool HasUpdates() const; |
- |
- // Updates the RTT from an incoming ack which is received |send_delta| after |
- // the packet is sent and the peer reports the ack being delayed |ack_delay|. |
- void UpdateRtt(QuicTime::Delta send_delta, |
- QuicTime::Delta ack_delay, |
- QuicTime now); |
- |
- // Causes the smoothed_rtt to be increased to the latest_rtt if the latest_rtt |
- // is larger. The mean deviation is increased to the most recent deviation if |
- // it's larger. |
- void ExpireSmoothedMetrics(); |
- |
- // Forces RttStats to sample a new recent min rtt within the next |
- // |num_samples| UpdateRtt calls. |
- void SampleNewRecentMinRtt(uint32 num_samples); |
- |
- // Returns the EWMA smoothed RTT for the connection. |
- // May return Zero if no valid updates have occurred. |
- QuicTime::Delta smoothed_rtt() const { |
- return smoothed_rtt_; |
- } |
- |
- int64 initial_rtt_us() const { |
- return initial_rtt_us_; |
- } |
- |
- // Sets an initial RTT to be used for SmoothedRtt before any RTT updates. |
- void set_initial_rtt_us(int64 initial_rtt_us) { |
- if (initial_rtt_us <= 0) { |
- LOG(DFATAL) << "Attempt to set initial rtt to <= 0."; |
- return; |
- } |
- initial_rtt_us_ = initial_rtt_us; |
- } |
- |
- // The most recent rtt measurement. |
- // May return Zero if no valid updates have occurred. |
- QuicTime::Delta latest_rtt() const { |
- return latest_rtt_; |
- } |
- |
- // Returns the min_rtt for the entire connection. |
- // May return Zero if no valid updates have occurred. |
- QuicTime::Delta min_rtt() const { |
- return min_rtt_; |
- } |
- |
- // Returns the min_rtt since SampleNewRecentMinRtt has been called, or the |
- // min_rtt for the entire connection if SampleNewMinRtt was never called. |
- QuicTime::Delta recent_min_rtt() const { |
- return recent_min_rtt_.rtt; |
- } |
- |
- QuicTime::Delta mean_deviation() const { |
- return mean_deviation_; |
- } |
- |
- // Sets how old a recent min rtt sample can be. |
- void set_recent_min_rtt_window(QuicTime::Delta recent_min_rtt_window) { |
- recent_min_rtt_window_ = recent_min_rtt_window; |
- } |
- |
- private: |
- friend class test::RttStatsPeer; |
- |
- // Used to track a sampled RTT window. |
- struct RttSample { |
- RttSample() : rtt(QuicTime::Delta::Zero()), time(QuicTime::Zero()) { } |
- RttSample(QuicTime::Delta rtt, QuicTime time) : rtt(rtt), time(time) { } |
- |
- QuicTime::Delta rtt; |
- QuicTime time; // Time the rtt sample was recorded. |
- }; |
- |
- // Implements the resampling algorithm and the windowed min rtt algorithm. |
- void UpdateRecentMinRtt(QuicTime::Delta rtt_sample, QuicTime now); |
- |
- QuicTime::Delta latest_rtt_; |
- QuicTime::Delta min_rtt_; |
- QuicTime::Delta smoothed_rtt_; |
- // Mean RTT deviation during this session. |
- // Approximation of standard deviation, the error is roughly 1.25 times |
- // larger than the standard deviation, for a normally distributed signal. |
- QuicTime::Delta mean_deviation_; |
- int64 initial_rtt_us_; |
- |
- RttSample new_min_rtt_; |
- uint32 num_min_rtt_samples_remaining_; |
- |
- // State variables for Kathleen Nichols MinRTT algorithm. |
- QuicTime::Delta recent_min_rtt_window_; |
- RttSample recent_min_rtt_; // a in the windowed algorithm. |
- RttSample half_window_rtt_; // b in the sampled algorithm. |
- RttSample quarter_window_rtt_; // c in the sampled algorithm. |
- |
- DISALLOW_COPY_AND_ASSIGN(RttStats); |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_QUIC_CONGESTION_CONTROL_RTT_STATS_H_ |