Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Unified Diff: net/nqe/network_quality_estimator.h

Issue 2221103003: Compute effective connection type dynamically (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/nqe/network_quality_estimator.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/nqe/network_quality_estimator.h
diff --git a/net/nqe/network_quality_estimator.h b/net/nqe/network_quality_estimator.h
index 0848eff0441ae3e7ae5b42c0842ec515e4ca150f..80c7feb6703eb7999e95c9db5e55583680abe5bb 100644
--- a/net/nqe/network_quality_estimator.h
+++ b/net/nqe/network_quality_estimator.h
@@ -287,6 +287,8 @@ class NET_EXPORT NetworkQualityEstimator
virtual double RandDouble() const;
private:
+ FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest,
+ AdaptiveRecomputationEffectiveConnectionType);
FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest, StoreObservations);
FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest, TestAddObservation);
FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest, ObtainOperatingParams);
@@ -297,6 +299,8 @@ class NET_EXPORT NetworkQualityEstimator
FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest, TestGetMetricsSince);
FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest,
TestExternalEstimateProviderMergeEstimates);
+ FRIEND_TEST_ALL_PREFIXES(NetworkQualityEstimatorTest,
+ UnknownEffectiveConnectionType);
// Value of round trip time observations is in base::TimeDelta.
typedef nqe::internal::Observation<base::TimeDelta> RttObservation;
@@ -500,13 +504,6 @@ class NET_EXPORT NetworkQualityEstimator
// Tick clock used by the network quality estimator.
std::unique_ptr<base::TickClock> tick_clock_;
- // Minimum duration between two consecutive computations of effective
- // connection type. Set to non-zero value as a performance optimization.
- const base::TimeDelta effective_connection_type_recomputation_interval_;
-
- // Time when the effective connection type was last computed.
- base::TimeTicks last_effective_connection_type_computation_;
-
// Intervals after the main frame request arrives at which accuracy of network
// quality prediction is recorded.
std::vector<base::TimeDelta> accuracy_recording_intervals_;
@@ -583,6 +580,18 @@ class NET_EXPORT NetworkQualityEstimator
// estimating the throughput.
std::unique_ptr<nqe::internal::ThroughputAnalyzer> throughput_analyzer_;
+ // Minimum duration between two consecutive computations of effective
+ // connection type. Set to non-zero value as a performance optimization.
+ const base::TimeDelta effective_connection_type_recomputation_interval_;
+
+ // Time when the effective connection type was last computed.
+ base::TimeTicks last_effective_connection_type_computation_;
+
+ // Number of RTT and bandwidth samples available when effective connection
+ // type was last recomputed.
+ size_t rtt_observations_size_at_last_ect_computation_;
+ size_t throughput_observations_size_at_last_ect_computation_;
+
// Current effective connection type. It is updated on connection change
// events. It is also updated every time there is network traffic (provided
// the last computation was more than
« no previous file with comments | « no previous file | net/nqe/network_quality_estimator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698