| Index: components/cronet/android/cronet_url_request_context_adapter.cc
|
| diff --git a/components/cronet/android/cronet_url_request_context_adapter.cc b/components/cronet/android/cronet_url_request_context_adapter.cc
|
| index ffe6089a2ec9ba859339a059dc1872bd46ca25d7..112762c17d925b68581eb5669df826b42e3b0f64 100644
|
| --- a/components/cronet/android/cronet_url_request_context_adapter.cc
|
| +++ b/components/cronet/android/cronet_url_request_context_adapter.cc
|
| @@ -427,6 +427,7 @@ CronetURLRequestContextAdapter::~CronetURLRequestContextAdapter() {
|
| network_quality_estimator_->RemoveRTTObserver(this);
|
| network_quality_estimator_->RemoveThroughputObserver(this);
|
| network_quality_estimator_->RemoveEffectiveConnectionTypeObserver(this);
|
| + network_quality_estimator_->RemoveRTTAndThroughputEstimatesObserver(this);
|
| }
|
|
|
| // Stop NetLog observer if there is one.
|
| @@ -626,6 +627,7 @@ void CronetURLRequestContextAdapter::InitializeOnNetworkThread(
|
| context_builder.set_socket_performance_watcher_factory(
|
| network_quality_estimator_->GetSocketPerformanceWatcherFactory());
|
| network_quality_estimator_->AddEffectiveConnectionTypeObserver(this);
|
| + network_quality_estimator_->AddRTTAndThroughputEstimatesObserver(this);
|
| }
|
|
|
| context_ = context_builder.Build();
|
| @@ -871,6 +873,25 @@ void CronetURLRequestContextAdapter::OnEffectiveConnectionTypeChanged(
|
| effective_connection_type);
|
| }
|
|
|
| +void CronetURLRequestContextAdapter::OnRTTOrThroughputEstimatesComputed(
|
| + base::TimeDelta http_rtt,
|
| + base::TimeDelta transport_rtt,
|
| + int32_t downstream_throughput_kbps) {
|
| + DCHECK(GetNetworkTaskRunner()->BelongsToCurrentThread());
|
| +
|
| + int32_t http_rtt_ms = http_rtt.InMilliseconds() <= INT32_MAX
|
| + ? static_cast<int32_t>(http_rtt.InMilliseconds())
|
| + : INT32_MAX;
|
| + int32_t transport_rtt_ms =
|
| + transport_rtt.InMilliseconds() <= INT32_MAX
|
| + ? static_cast<int32_t>(transport_rtt.InMilliseconds())
|
| + : INT32_MAX;
|
| +
|
| + Java_CronetUrlRequestContext_onRTTOrThroughputEstimatesComputed(
|
| + base::android::AttachCurrentThread(), jcronet_url_request_context_.obj(),
|
| + http_rtt_ms, transport_rtt_ms, downstream_throughput_kbps);
|
| +}
|
| +
|
| void CronetURLRequestContextAdapter::OnRTTObservation(
|
| int32_t rtt_ms,
|
| const base::TimeTicks& timestamp,
|
|
|