Chromium Code Reviews| Index: content/browser/net/network_quality_observer_impl.h |
| diff --git a/content/browser/net/network_quality_observer_impl.h b/content/browser/net/network_quality_observer_impl.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a9b292fa8a156289ab3a963b52675524a976406a |
| --- /dev/null |
| +++ b/content/browser/net/network_quality_observer_impl.h |
| @@ -0,0 +1,54 @@ |
| +// Copyright (c) 2017 The Chromium Authors. All rights reserved. |
|
nasko
2017/05/08 18:27:45
No "(c)".
tbansal1
2017/05/08 19:50:19
Done. I am not sure where I copied this from.
|
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CONTENT_BROWSER_NET_NETWORK_QUALITY_OBSERVER_IMPL_H_ |
| +#define CONTENT_BROWSER_NET_NETWORK_QUALITY_OBSERVER_IMPL_H_ |
| + |
| +#include "base/macros.h" |
| +#include "base/threading/thread_checker.h" |
| +#include "content/common/content_export.h" |
| +#include "content/public/browser/network_quality_observer_factory.h" |
| +#include "net/nqe/network_quality.h" |
| +#include "net/nqe/network_quality_estimator.h" |
| + |
| +namespace content { |
| + |
| +// Listens for changes to the network quality and manages sending updates to |
| +// each RenderProcess via mojo. |
| +class CONTENT_EXPORT NetworkQualityObserverImpl |
| + : public net::NetworkQualityEstimator::RTTAndThroughputEstimatesObserver { |
| + public: |
| + explicit NetworkQualityObserverImpl( |
| + net::NetworkQualityEstimator* network_quality_estimator); |
| + |
| + ~NetworkQualityObserverImpl() override; |
| + |
| + private: |
| + class UIObserver; |
|
nasko
2017/05/08 18:27:45
UIObserver implies that it is observing some user
tbansal1
2017/05/08 19:50:19
Done.
|
| + |
| + // net::NetworkQualityEstimator::RTTAndThroughputEstimatesObserver |
| + // implementation: |
| + void OnRTTOrThroughputEstimatesComputed( |
| + base::TimeDelta http_rtt, |
| + base::TimeDelta transport_rtt, |
| + int32_t downstream_throughput_kbps) override; |
|
RyanSturm
2017/05/08 17:37:20
#include <stdint.h>
Not sure if you have to becaus
tbansal1
2017/05/08 19:50:19
Done.
|
| + |
| + // |ui_oberver_| is owned by |this|, and interacts with |
| + // the render processes. It is created on the IO thread but afterwards, should |
| + // only be accessed on the UI thread. |
| + std::unique_ptr<UIObserver> ui_oberver_; |
|
RyanSturm
2017/05/08 17:37:20
#include <memory>
tbansal1
2017/05/08 19:50:19
Done.
|
| + |
| + net::NetworkQualityEstimator* network_quality_estimator_; |
|
nasko
2017/05/08 18:27:45
Can you include a comment on how the lifetime of t
tbansal1
2017/05/08 19:50:19
Done.
|
| + |
| + // The network quality when the |ui_oberver_| was last notified. |
| + net::nqe::internal::NetworkQuality last_notified_network_quality_; |
| + |
| + base::ThreadChecker thread_checker_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(NetworkQualityObserverImpl); |
| +}; |
| + |
| +} // namespace content |
| + |
| +#endif // CONTENT_BROWSER_NET_NETWORK_QUALITY_OBSERVER_IMPL_H_ |