Chromium Code Reviews| Index: net/nqe/rtt_throughput_estimates_observer.h |
| diff --git a/net/nqe/rtt_throughput_estimates_observer.h b/net/nqe/rtt_throughput_estimates_observer.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..aaac4e91b11add2b6be15df330d0c8d346e1a36b |
| --- /dev/null |
| +++ b/net/nqe/rtt_throughput_estimates_observer.h |
| @@ -0,0 +1,49 @@ |
| +// Copyright 2017 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. |
| + |
| +#ifndef NET_NQE_NETWORK_QUALITY_RTT_THROUGHPUT_ESTIMATES_OBSERVER_H_ |
| +#define NET_NQE_NETWORK_QUALITY_RTT_THROUGHPUT_ESTIMATES_OBSERVER_H_ |
| + |
| +#include <stdint.h> |
| + |
| +#include "base/compiler_specific.h" |
| +#include "base/gtest_prod_util.h" |
| +#include "base/macros.h" |
| + |
| +namespace net { |
| + |
| +// Observes changes in the network quality. |
| +class NET_EXPORT RTTAndThroughputEstimatesObserver { |
| + public: |
| + // Notifies the observer when estimated HTTP RTT, estimated transport RTT or |
| + // estimated downstream throughput is computed. NetworkQualityEstimator |
| + // computes the RTT and throughput estimates at regular intervals. |
| + // Additionally, when there is a change in the connection type of the |
| + // device, then the estimates are immediately computed. The observer must |
| + // register and unregister itself on the IO thread. All the observers would |
|
RyanSturm
2017/06/05 21:21:02
same comment about IO thread.
tbansal1
2017/06/06 16:55:50
Done.
|
| + // be notified on the IO thread. |
| + // |
| + // |http_rtt|, |transport_rtt| and |downstream_throughput_kbps| are the |
| + // computed estimates of the HTTP RTT, transport RTT and downstream |
| + // throughput (in kilobits per second), respectively. If an estimate of the |
| + // HTTP or transport RTT is unavailable, it will be set to |
| + // nqe::internal::InvalidRTT(). If the throughput estimate is unavailable, |
| + // it will be set to nqe::internal::kInvalidThroughput. |
| + virtual void OnRTTOrThroughputEstimatesComputed( |
| + base::TimeDelta http_rtt, |
| + base::TimeDelta transport_rtt, |
| + int32_t downstream_throughput_kbps) = 0; |
| + |
| + virtual ~RTTAndThroughputEstimatesObserver() {} |
| + |
| + protected: |
| + RTTAndThroughputEstimatesObserver() {} |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(RTTAndThroughputEstimatesObserver); |
| +}; |
| + |
| +} // namespace net |
| + |
| +#endif // NET_NQE_NETWORK_QUALITY_RTT_THROUGHPUT_ESTIMATES_OBSERVER_H_ |