Index: net/nqe/network_quality_estimator_unittest.cc |
diff --git a/net/nqe/network_quality_estimator_unittest.cc b/net/nqe/network_quality_estimator_unittest.cc |
index 81ae4622d86c426f1302a1adda9cba1241d109e7..a568bc91cea417fafe3c8d95240a1d2692ea2912 100644 |
--- a/net/nqe/network_quality_estimator_unittest.cc |
+++ b/net/nqe/network_quality_estimator_unittest.cc |
@@ -162,8 +162,9 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
base::TimeDelta rtt; |
int32_t kbps; |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
TestDelegate test_delegate; |
TestURLRequestContext context(true); |
@@ -177,9 +178,10 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
base::RunLoop().Run(); |
// Both RTT and downstream throughput should be updated. |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
// Check UMA histograms. |
histogram_tester.ExpectTotalCount("NQE.PeakKbps.Unknown", 0); |
@@ -190,6 +192,12 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
histogram_tester.ExpectUniqueSample( |
"NQE.MainFrame.EffectiveConnectionType.Unknown", |
EffectiveConnectionType::EFFECTIVE_CONNECTION_TYPE_UNKNOWN, 1); |
+ histogram_tester.ExpectUniqueSample("NQE.EstimateAvailable.MainFrame.RTT", 0, |
+ 1); |
+ histogram_tester.ExpectUniqueSample( |
+ "NQE.EstimateAvailable.MainFrame.TransportRTT", 0, 1); |
+ histogram_tester.ExpectUniqueSample("NQE.EstimateAvailable.MainFrame.Kbps", 0, |
+ 1); |
std::unique_ptr<URLRequest> request2(context.CreateRequest( |
estimator.GetEchoURL(), DEFAULT_PRIORITY, &test_delegate)); |
@@ -199,6 +207,12 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
histogram_tester.ExpectTotalCount("NQE.MainFrame.EffectiveConnectionType", 2); |
histogram_tester.ExpectTotalCount( |
"NQE.MainFrame.EffectiveConnectionType.Unknown", 2); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.RTT", 1, |
+ 1); |
+ histogram_tester.ExpectUniqueSample( |
+ "NQE.EstimateAvailable.MainFrame.TransportRTT", 0, 2); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.Kbps", 1, |
+ 1); |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-1"); |
@@ -217,8 +231,9 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
histogram_tester.ExpectTotalCount("NQE.TransportRTT.Percentile50.Unknown", 0); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
// Verify that metrics are logged correctly on main-frame requests. |
histogram_tester.ExpectTotalCount("NQE.MainFrame.RTT.Percentile50", 1); |
@@ -239,8 +254,9 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
histogram_tester.ExpectTotalCount("NQE.PeakKbps.Unknown", 1); |
histogram_tester.ExpectTotalCount("NQE.FastestRTT.Unknown", 1); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
std::unique_ptr<URLRequest> request3(context.CreateRequest( |
estimator.GetEchoURL(), DEFAULT_PRIORITY, &test_delegate)); |
@@ -251,6 +267,16 @@ TEST(NetworkQualityEstimatorTest, TestKbpsRTTUpdates) { |
"NQE.MainFrame.EffectiveConnectionType.WiFi", |
EffectiveConnectionType::EFFECTIVE_CONNECTION_TYPE_UNKNOWN, 1); |
histogram_tester.ExpectTotalCount("NQE.MainFrame.EffectiveConnectionType", 3); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.RTT", 0, |
+ 2); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.RTT", 1, |
+ 1); |
+ histogram_tester.ExpectUniqueSample( |
+ "NQE.EstimateAvailable.MainFrame.TransportRTT", 0, 3); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.Kbps", 0, |
+ 2); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.Kbps", 1, |
+ 1); |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_UNKNOWN, "test"); |
@@ -274,8 +300,9 @@ TEST(NetworkQualityEstimatorTest, Caching) { |
base::TimeDelta rtt; |
int32_t kbps; |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
TestDelegate test_delegate; |
TestURLRequestContext context(true); |
@@ -296,11 +323,12 @@ TEST(NetworkQualityEstimatorTest, Caching) { |
base::RunLoop().RunUntilIdle(); |
// Both RTT and downstream throughput should be updated. |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_NE(EFFECTIVE_CONNECTION_TYPE_UNKNOWN, |
estimator.GetEffectiveConnectionType()); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
histogram_tester.ExpectBucketCount("NQE.CachedNetworkQualityAvailable", false, |
1); |
@@ -333,8 +361,9 @@ TEST(NetworkQualityEstimatorTest, StoreObservations) { |
base::TimeDelta rtt; |
int32_t kbps; |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
TestDelegate test_delegate; |
TestURLRequestContext context(true); |
@@ -348,15 +377,17 @@ TEST(NetworkQualityEstimatorTest, StoreObservations) { |
estimator.GetEchoURL(), DEFAULT_PRIORITY, &test_delegate)); |
request->Start(); |
base::RunLoop().Run(); |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
} |
// Verify that the stored observations are cleared on network change. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-2"); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
} |
// This test notifies NetworkQualityEstimator of received data. Next, |
@@ -431,24 +462,26 @@ TEST(NetworkQualityEstimatorTest, ObtainOperatingParams) { |
TestNetworkQualityEstimator estimator(variation_params); |
base::TimeDelta rtt; |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
int32_t kbps; |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(100, kbps); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(1000), rtt); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
// Simulate network change to Wi-Fi. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-1"); |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(200, kbps); |
EXPECT_EQ(base::TimeDelta::FromMilliseconds(2000), rtt); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
// Peak network quality should not be affected by the network quality |
// estimator field trial. |
@@ -462,16 +495,18 @@ TEST(NetworkQualityEstimatorTest, ObtainOperatingParams) { |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_2G, "test-2"); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(300, kbps); |
// Simulate network change to 3G. Default estimates should be unavailable. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_3G, "test-3"); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
} |
TEST(NetworkQualityEstimatorTest, ObtainAlgorithmToUseFromParams) { |
@@ -583,10 +618,11 @@ TEST(NetworkQualityEstimatorTest, ObtainThresholdsOnlyRTT) { |
}; |
for (const auto& test : tests) { |
- estimator.set_http_rtt(base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
estimator.set_recent_http_rtt( |
base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
- estimator.set_downlink_throughput_kbps(INT32_MAX); |
+ estimator.set_start_time_null_downlink_throughput_kbps(INT32_MAX); |
estimator.set_recent_downlink_throughput_kbps(INT32_MAX); |
// Run one main frame request to force recomputation of effective connection |
// type. |
@@ -640,11 +676,11 @@ TEST(NetworkQualityEstimatorTest, DefaultTransportRTTBasedThresholds) { |
estimator.SimulateNetworkChange(NetworkChangeNotifier::CONNECTION_WIFI, |
"test"); |
- estimator.set_transport_rtt( |
+ estimator.set_start_time_null_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
estimator.set_recent_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
- estimator.set_downlink_throughput_kbps(INT32_MAX); |
+ estimator.set_start_time_null_downlink_throughput_kbps(INT32_MAX); |
estimator.set_recent_downlink_throughput_kbps(INT32_MAX); |
// Run one main frame request to force recomputation of effective connection |
// type. |
@@ -696,11 +732,11 @@ TEST(NetworkQualityEstimatorTest, DefaultHttpRTTBasedThresholds) { |
estimator.SimulateNetworkChange(NetworkChangeNotifier::CONNECTION_WIFI, |
"test"); |
- estimator.set_http_rtt( |
+ estimator.set_start_time_null_http_rtt( |
base::TimeDelta::FromMilliseconds(test.http_rtt_msec)); |
estimator.set_recent_http_rtt( |
base::TimeDelta::FromMilliseconds(test.http_rtt_msec)); |
- estimator.set_downlink_throughput_kbps(INT32_MAX); |
+ estimator.set_start_time_null_downlink_throughput_kbps(INT32_MAX); |
estimator.set_recent_downlink_throughput_kbps(INT32_MAX); |
// Run one main frame request to force recomputation of effective connection |
// type. |
@@ -749,11 +785,11 @@ TEST(NetworkQualityEstimatorTest, ObtainThresholdsOnlyTransportRTT) { |
}; |
for (const auto& test : tests) { |
- estimator.set_transport_rtt( |
+ estimator.set_start_time_null_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
estimator.set_recent_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
- estimator.set_downlink_throughput_kbps(INT32_MAX); |
+ estimator.set_start_time_null_downlink_throughput_kbps(INT32_MAX); |
estimator.set_recent_downlink_throughput_kbps(INT32_MAX); |
// Run one main frame request to force recomputation of effective connection |
// type. |
@@ -812,10 +848,12 @@ TEST(NetworkQualityEstimatorTest, ObtainThresholdsHttpRTTandThroughput) { |
}; |
for (const auto& test : tests) { |
- estimator.set_http_rtt(base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
estimator.set_recent_http_rtt( |
base::TimeDelta::FromMilliseconds(test.rtt_msec)); |
- estimator.set_downlink_throughput_kbps(test.downlink_throughput_kbps); |
+ estimator.set_start_time_null_downlink_throughput_kbps( |
+ test.downlink_throughput_kbps); |
estimator.set_recent_downlink_throughput_kbps( |
test.downlink_throughput_kbps); |
// Run one main frame request to force recomputation of effective connection |
@@ -877,11 +915,12 @@ TEST(NetworkQualityEstimatorTest, ObtainThresholdsTransportRTTandThroughput) { |
}; |
for (const auto& test : tests) { |
- estimator.set_transport_rtt( |
+ estimator.set_start_time_null_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
estimator.set_recent_transport_rtt( |
base::TimeDelta::FromMilliseconds(test.transport_rtt_msec)); |
- estimator.set_downlink_throughput_kbps(test.downlink_throughput_kbps); |
+ estimator.set_start_time_null_downlink_throughput_kbps( |
+ test.downlink_throughput_kbps); |
estimator.set_recent_downlink_throughput_kbps( |
test.downlink_throughput_kbps); |
// Run one main frame request to force recomputation of effective connection |
@@ -951,11 +990,10 @@ TEST(NetworkQualityEstimatorTest, TestGetMetricsSince) { |
for (size_t i = 0; i < 2; ++i) { |
estimator.downstream_throughput_kbps_observations_.AddObservation( |
NetworkQualityEstimator::ThroughputObservation( |
- old_downlink_kbps, old, |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ old_downlink_kbps, old, NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
estimator.rtt_observations_.AddObservation( |
NetworkQualityEstimator::RttObservation( |
- old_url_rtt, old, NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ old_url_rtt, old, NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
estimator.rtt_observations_.AddObservation( |
NetworkQualityEstimator::RttObservation( |
old_tcp_rtt, old, NETWORK_QUALITY_OBSERVATION_SOURCE_TCP)); |
@@ -975,11 +1013,10 @@ TEST(NetworkQualityEstimatorTest, TestGetMetricsSince) { |
estimator.downstream_throughput_kbps_observations_.AddObservation( |
NetworkQualityEstimator::ThroughputObservation( |
- new_downlink_kbps, now, |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ new_downlink_kbps, now, NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
estimator.rtt_observations_.AddObservation( |
NetworkQualityEstimator::RttObservation( |
- new_url_rtt, now, NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ new_url_rtt, now, NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
estimator.rtt_observations_.AddObservation( |
NetworkQualityEstimator::RttObservation( |
new_tcp_rtt, now, NETWORK_QUALITY_OBSERVATION_SOURCE_TCP)); |
@@ -1086,8 +1123,9 @@ TEST(NetworkQualityEstimatorTest, InvalidExternalEstimateProvider) { |
base::TimeDelta rtt; |
int32_t kbps; |
EXPECT_EQ(1U, invalid_external_estimate_provider->update_count()); |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
histogram_tester.ExpectTotalCount("NQE.ExternalEstimateProviderStatus", 2); |
histogram_tester.ExpectBucketCount( |
@@ -1188,9 +1226,10 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProvider) { |
"test"); |
base::TimeDelta rtt; |
int32_t kbps; |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
histogram_tester.ExpectTotalCount("NQE.ExternalEstimateProviderStatus", 5); |
@@ -1220,8 +1259,9 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProvider) { |
// provider must increment. |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-1"); |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(2U, test_external_estimate_provider->update_count()); |
test_external_estimate_provider->set_should_notify_delegate(false); |
@@ -1230,8 +1270,9 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProvider) { |
EXPECT_EQ(3U, test_external_estimate_provider->update_count()); |
// Estimates are unavailable because external estimate provider never |
// notifies network quality estimator of the updated estimates. |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
} |
// Tests if the estimate from the external estimate provider is merged with the |
@@ -1256,11 +1297,12 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProviderMergeEstimates) { |
base::TimeDelta rtt; |
// Estimate provided by network quality estimator should match the estimate |
// provided by external estimate provider. |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_EQ(external_estimate_provider_rtt, rtt); |
int32_t kbps; |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_EQ(external_estimate_provider_downstream_throughput, kbps); |
TestDelegate test_delegate; |
@@ -1273,10 +1315,11 @@ TEST(NetworkQualityEstimatorTest, TestExternalEstimateProviderMergeEstimates) { |
request->Start(); |
base::RunLoop().Run(); |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
EXPECT_NE(external_estimate_provider_rtt, rtt); |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_TRUE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
EXPECT_NE(external_estimate_provider_downstream_throughput, kbps); |
} |
@@ -1304,9 +1347,10 @@ TEST(NetworkQualityEstimatorTest, TestThroughputNoRequestOverlap) { |
test.allow_small_localhost_requests); |
base::TimeDelta rtt; |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
int32_t kbps; |
- EXPECT_FALSE(estimator.GetDownlinkThroughputKbps(&kbps)); |
+ EXPECT_FALSE( |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
TestDelegate test_delegate; |
TestURLRequestContext context(true); |
@@ -1319,9 +1363,11 @@ TEST(NetworkQualityEstimatorTest, TestThroughputNoRequestOverlap) { |
request->Start(); |
base::RunLoop().Run(); |
- EXPECT_EQ(test.allow_small_localhost_requests, estimator.GetHttpRTT(&rtt)); |
EXPECT_EQ(test.allow_small_localhost_requests, |
- estimator.GetDownlinkThroughputKbps(&kbps)); |
+ estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_EQ( |
+ test.allow_small_localhost_requests, |
+ estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), &kbps)); |
} |
} |
@@ -1346,7 +1392,10 @@ TEST(NetworkQualityEstimatorTest, TestEffectiveConnectionTypeObserver) { |
EXPECT_EQ(0U, observer.effective_connection_types().size()); |
- estimator.set_recent_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_2G); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(1500)); |
+ estimator.set_start_time_null_downlink_throughput_kbps(100000); |
+ |
tick_clock_ptr->Advance(base::TimeDelta::FromMinutes(60)); |
std::unique_ptr<URLRequest> request(context.CreateRequest( |
@@ -1371,7 +1420,8 @@ TEST(NetworkQualityEstimatorTest, TestEffectiveConnectionTypeObserver) { |
EXPECT_EQ(1U, observer.effective_connection_types().size()); |
// Change in connection type should send out notification to the observers. |
- estimator.set_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_3G); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(500)); |
estimator.SimulateNetworkChange(NetworkChangeNotifier::CONNECTION_WIFI, |
"test"); |
EXPECT_EQ(2U, observer.effective_connection_types().size()); |
@@ -1379,7 +1429,8 @@ TEST(NetworkQualityEstimatorTest, TestEffectiveConnectionTypeObserver) { |
// A change in effective connection type does not trigger notification to the |
// observers, since it is not accompanied by any new observation or a network |
// change event. |
- estimator.set_recent_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_3G); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(100)); |
EXPECT_EQ(2U, observer.effective_connection_types().size()); |
} |
@@ -1412,10 +1463,10 @@ TEST(NetworkQualityEstimatorTest, TestRTTAndThroughputEstimatesObserver) { |
base::TimeDelta http_rtt(base::TimeDelta::FromMilliseconds(100)); |
base::TimeDelta transport_rtt(base::TimeDelta::FromMilliseconds(200)); |
int32_t downstream_throughput_kbps(300); |
- estimator.set_recent_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_2G); |
- estimator.set_recent_http_rtt(http_rtt); |
- estimator.set_recent_transport_rtt(transport_rtt); |
- estimator.set_recent_downlink_throughput_kbps(downstream_throughput_kbps); |
+ estimator.set_start_time_null_http_rtt(http_rtt); |
+ estimator.set_start_time_null_transport_rtt(transport_rtt); |
+ estimator.set_start_time_null_downlink_throughput_kbps( |
+ downstream_throughput_kbps); |
tick_clock_ptr->Advance(base::TimeDelta::FromMinutes(60)); |
std::unique_ptr<URLRequest> request(context.CreateRequest( |
@@ -1439,16 +1490,20 @@ TEST(NetworkQualityEstimatorTest, TestRTTAndThroughputEstimatesObserver) { |
// A change in the connection type should send out notification to the |
// observers. |
- estimator.set_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_3G); |
estimator.SimulateNetworkChange(NetworkChangeNotifier::CONNECTION_WIFI, |
"test"); |
+ EXPECT_EQ(http_rtt, observer.http_rtt()); |
+ EXPECT_EQ(transport_rtt, observer.transport_rtt()); |
+ EXPECT_EQ(downstream_throughput_kbps, observer.downstream_throughput_kbps()); |
EXPECT_LE(1, observer.notifications_received() - notifications_received); |
notifications_received = observer.notifications_received(); |
// A change in effective connection type does not trigger notification to the |
// observers, since it is not accompanied by any new observation or a network |
// change event. |
- estimator.set_recent_effective_connection_type(EFFECTIVE_CONNECTION_TYPE_3G); |
+ estimator.set_start_time_null_http_rtt( |
+ base::TimeDelta::FromMilliseconds(10000)); |
+ estimator.set_start_time_null_http_rtt(base::TimeDelta::FromMilliseconds(1)); |
EXPECT_EQ(0, observer.notifications_received() - notifications_received); |
} |
@@ -1477,7 +1532,7 @@ TEST(NetworkQualityEstimatorTest, UnknownEffectiveConnectionType) { |
NetworkQualityEstimator::RttObservation rtt_observation( |
base::TimeDelta::FromSeconds(5), tick_clock_ptr->NowTicks(), |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST); |
+ NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP); |
for (size_t i = 0; i < 10; ++i) { |
estimator.NotifyObserversOfRTT(rtt_observation); |
@@ -1491,7 +1546,7 @@ TEST(NetworkQualityEstimatorTest, UnknownEffectiveConnectionType) { |
// type since the last computed effective connection type was unknown. |
estimator.NotifyObserversOfRTT(NetworkQualityEstimator::RttObservation( |
base::TimeDelta::FromSeconds(5), tick_clock_ptr->NowTicks(), |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
++expected_effective_connection_type_notifications; |
EXPECT_EQ(expected_effective_connection_type_notifications, |
observer.effective_connection_types().size()); |
@@ -1535,6 +1590,12 @@ TEST(NetworkQualityEstimatorTest, |
histogram_tester.ExpectUniqueSample( |
"NQE.MainFrame.EffectiveConnectionType.WiFi", |
EFFECTIVE_CONNECTION_TYPE_2G, 1); |
+ histogram_tester.ExpectUniqueSample("NQE.EstimateAvailable.MainFrame.RTT", 0, |
+ 1); |
+ histogram_tester.ExpectUniqueSample( |
+ "NQE.EstimateAvailable.MainFrame.TransportRTT", 0, 1); |
+ histogram_tester.ExpectUniqueSample("NQE.EstimateAvailable.MainFrame.Kbps", 0, |
+ 1); |
size_t expected_effective_connection_type_notifications = 1; |
EXPECT_EQ(expected_effective_connection_type_notifications, |
@@ -1564,11 +1625,11 @@ TEST(NetworkQualityEstimatorTest, |
estimator.rtt_observations_.AddObservation( |
NetworkQualityEstimator::RttObservation( |
base::TimeDelta::FromSeconds(5), tick_clock_ptr->NowTicks(), |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
estimator.NotifyObserversOfRTT(NetworkQualityEstimator::RttObservation( |
base::TimeDelta::FromSeconds(5), tick_clock_ptr->NowTicks(), |
- NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST)); |
+ NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP)); |
if (i == rtt_observations_count) { |
// Effective connection type must be recomputed since the number of RTT |
@@ -1613,27 +1674,26 @@ TEST(NetworkQualityEstimatorTest, TestRttThroughputObservers) { |
// Both RTT and downstream throughput should be updated. |
base::TimeDelta rtt; |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
int32_t throughput; |
- EXPECT_TRUE(estimator.GetDownlinkThroughputKbps(&throughput)); |
+ EXPECT_TRUE(estimator.GetRecentDownlinkThroughputKbps(base::TimeTicks(), |
+ &throughput)); |
EXPECT_EQ(2U, rtt_observer.observations().size()); |
EXPECT_EQ(2U, throughput_observer.observations().size()); |
for (const auto& observation : rtt_observer.observations()) { |
EXPECT_LE(0, observation.rtt_ms); |
EXPECT_LE(0, (observation.timestamp - then).InMilliseconds()); |
- EXPECT_EQ(NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST, |
- observation.source); |
+ EXPECT_EQ(NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP, observation.source); |
} |
for (const auto& observation : throughput_observer.observations()) { |
EXPECT_LE(0, observation.throughput_kbps); |
EXPECT_LE(0, (observation.timestamp - then).InMilliseconds()); |
- EXPECT_EQ(NETWORK_QUALITY_OBSERVATION_SOURCE_URL_REQUEST, |
- observation.source); |
+ EXPECT_EQ(NETWORK_QUALITY_OBSERVATION_SOURCE_HTTP, observation.source); |
} |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
// Verify that observations from TCP and QUIC are passed on to the observers. |
base::TimeDelta tcp_rtt(base::TimeDelta::FromMilliseconds(1)); |
@@ -1661,7 +1721,7 @@ TEST(NetworkQualityEstimatorTest, TestRttThroughputObservers) { |
EXPECT_EQ(quic_rtt.InMilliseconds(), |
rtt_observer.observations().at(3).rtt_ms); |
- EXPECT_TRUE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
} |
// TestTCPSocketRTT requires kernel support for tcp_info struct, and so it is |
@@ -1694,8 +1754,8 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
EXPECT_EQ(0U, rtt_observer.observations().size()); |
base::TimeDelta rtt; |
- EXPECT_FALSE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_FALSE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_FALSE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_FALSE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
// Send two requests. Verify that the completion of each request generates at |
// least one TCP RTT observation. |
@@ -1724,8 +1784,8 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
before_count_tcp_rtt_observations) |
<< i; |
} |
- EXPECT_TRUE(estimator.GetHttpRTT(&rtt)); |
- EXPECT_TRUE(estimator.GetTransportRTT(&rtt)); |
+ EXPECT_TRUE(estimator.GetRecentHttpRTT(base::TimeTicks(), &rtt)); |
+ EXPECT_TRUE(estimator.GetRecentTransportRTT(base::TimeTicks(), &rtt)); |
estimator.SimulateNetworkChange( |
NetworkChangeNotifier::ConnectionType::CONNECTION_WIFI, "test-1"); |
@@ -1741,6 +1801,17 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
// Verify that metrics are logged correctly on main-frame requests. |
histogram_tester.ExpectTotalCount("NQE.MainFrame.TransportRTT.Percentile50", |
num_requests); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.RTT", 0, |
+ 1); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.RTT", 1, |
+ num_requests - 1); |
+ histogram_tester.ExpectUniqueSample( |
+ "NQE.EstimateAvailable.MainFrame.TransportRTT", 1, num_requests); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.Kbps", 0, |
+ 1); |
+ histogram_tester.ExpectBucketCount("NQE.EstimateAvailable.MainFrame.Kbps", 1, |
+ num_requests - 1); |
+ |
histogram_tester.ExpectTotalCount( |
"NQE.MainFrame.TransportRTT.Percentile50.Unknown", num_requests); |
histogram_tester.ExpectTotalCount("NQE.MainFrame.EffectiveConnectionType", |
@@ -1760,8 +1831,8 @@ TEST(NetworkQualityEstimatorTest, MAYBE_TestTCPSocketRTT) { |
#endif |
// Tests if the NQE accuracy metrics are recorded properly. |
TEST(NetworkQualityEstimatorTest, MAYBE_RecordAccuracy) { |
- const int expected_rtt_msec = 100; |
- const int expected_downstream_throughput_kbps = 200; |
+ const int expected_rtt_msec = 500; |
+ const int expected_downstream_throughput_kbps = 2000; |
const base::TimeDelta accuracy_recording_delays[] = { |
base::TimeDelta::FromSeconds(0), base::TimeDelta::FromSeconds(1), |
@@ -1778,21 +1849,20 @@ TEST(NetworkQualityEstimatorTest, MAYBE_RecordAccuracy) { |
{base::TimeDelta::FromMilliseconds(expected_rtt_msec), |
base::TimeDelta::FromMilliseconds(expected_rtt_msec), |
expected_downstream_throughput_kbps, expected_downstream_throughput_kbps, |
- EFFECTIVE_CONNECTION_TYPE_2G, EFFECTIVE_CONNECTION_TYPE_2G}, |
- |
+ EFFECTIVE_CONNECTION_TYPE_3G, EFFECTIVE_CONNECTION_TYPE_3G}, |
{ |
- base::TimeDelta::FromMilliseconds(expected_rtt_msec + 1), |
+ base::TimeDelta::FromMilliseconds(expected_rtt_msec + 1000), |
base::TimeDelta::FromMilliseconds(expected_rtt_msec), |
- expected_downstream_throughput_kbps + 1, |
- expected_downstream_throughput_kbps, EFFECTIVE_CONNECTION_TYPE_3G, |
- EFFECTIVE_CONNECTION_TYPE_2G, |
+ expected_downstream_throughput_kbps - 1, |
+ expected_downstream_throughput_kbps, EFFECTIVE_CONNECTION_TYPE_2G, |
+ EFFECTIVE_CONNECTION_TYPE_3G, |
}, |
{ |
- base::TimeDelta::FromMilliseconds(expected_rtt_msec - 1), |
+ base::TimeDelta::FromMilliseconds(expected_rtt_msec - 400), |
base::TimeDelta::FromMilliseconds(expected_rtt_msec), |
- expected_downstream_throughput_kbps - 1, |
- expected_downstream_throughput_kbps, |
- EFFECTIVE_CONNECTION_TYPE_SLOW_2G, EFFECTIVE_CONNECTION_TYPE_2G, |
+ expected_downstream_throughput_kbps + 1, |
+ expected_downstream_throughput_kbps, EFFECTIVE_CONNECTION_TYPE_4G, |
+ EFFECTIVE_CONNECTION_TYPE_3G, |
}, |
}; |
@@ -1821,16 +1891,14 @@ TEST(NetworkQualityEstimatorTest, MAYBE_RecordAccuracy) { |
// RTT is higher than threshold. Network is slow. |
// Network was predicted to be slow and actually was slow. |
- estimator.set_http_rtt(test.rtt); |
+ estimator.set_start_time_null_http_rtt(test.rtt); |
estimator.set_recent_http_rtt(test.recent_rtt); |
- estimator.set_transport_rtt(test.rtt); |
+ estimator.set_start_time_null_transport_rtt(test.rtt); |
estimator.set_recent_transport_rtt(test.recent_rtt); |
- estimator.set_downlink_throughput_kbps(test.downstream_throughput_kbps); |
+ estimator.set_start_time_null_downlink_throughput_kbps( |
+ test.downstream_throughput_kbps); |
estimator.set_recent_downlink_throughput_kbps( |
test.recent_downstream_throughput_kbps); |
- estimator.set_effective_connection_type(test.effective_connection_type); |
- estimator.set_recent_effective_connection_type( |
- test.recent_effective_connection_type); |
base::HistogramTester histogram_tester; |
@@ -1855,61 +1923,91 @@ TEST(NetworkQualityEstimatorTest, MAYBE_RecordAccuracy) { |
base::RunLoop().RunUntilIdle(); |
} |
- const int diff = std::abs(test.rtt.InMilliseconds() - |
- test.recent_rtt.InMilliseconds()); |
- const std::string sign_suffix_with_one_sample = |
- test.rtt.InMilliseconds() - test.recent_rtt.InMilliseconds() >= 0 |
- ? "Positive" |
- : "Negative"; |
- const std::string sign_suffix_with_zero_samples = |
+ const int rtt_diff = std::abs(test.rtt.InMilliseconds() - |
+ test.recent_rtt.InMilliseconds()); |
+ const int kbps_diff = std::abs(test.downstream_throughput_kbps - |
+ test.recent_downstream_throughput_kbps); |
+ const int ect_diff = std::abs(test.effective_connection_type - |
+ test.recent_effective_connection_type); |
+ |
+ const std::string rtt_sign_suffix_with_zero_samples = |
test.rtt.InMilliseconds() - test.recent_rtt.InMilliseconds() >= 0 |
? "Negative" |
: "Positive"; |
+ const std::string kbps_sign_suffix_with_zero_samples = |
+ test.downstream_throughput_kbps - |
+ test.recent_downstream_throughput_kbps >= |
+ 0 |
+ ? "Negative" |
+ : "Positive"; |
+ |
+ const std::string rtt_sign_suffix_with_one_sample = |
+ rtt_sign_suffix_with_zero_samples == "Positive" ? "Negative" |
+ : "Positive"; |
+ const std::string ect_sign_suffix_with_zero_samples = |
+ test.rtt.InMilliseconds() - test.recent_rtt.InMilliseconds() > 0 |
+ ? "Positive" |
+ : "Negative"; |
+ |
+ const std::string kbps_sign_suffix_with_one_sample = |
+ kbps_sign_suffix_with_zero_samples == "Positive" ? "Negative" |
+ : "Positive"; |
+ const std::string ect_sign_suffix_with_one_sample = |
+ ect_sign_suffix_with_zero_samples == "Positive" ? "Negative" |
+ : "Positive"; |
const std::string interval_value = |
base::IntToString(accuracy_recording_delay.InSeconds()); |
histogram_tester.ExpectUniqueSample( |
"NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff." + |
- sign_suffix_with_one_sample + "." + interval_value + ".140_300", |
- diff, 1); |
+ kbps_sign_suffix_with_one_sample + "." + interval_value + |
+ ".1260_2540", |
+ kbps_diff, 1); |
histogram_tester.ExpectTotalCount( |
"NQE.Accuracy.DownstreamThroughputKbps.EstimatedObservedDiff." + |
- sign_suffix_with_zero_samples + "." + interval_value + ".140_300", |
+ kbps_sign_suffix_with_zero_samples + "." + interval_value + |
+ ".1260_2540", |
0); |
histogram_tester.ExpectUniqueSample( |
"NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff." + |
- sign_suffix_with_one_sample + "." + interval_value + ".2G", |
- diff, 1); |
+ ect_sign_suffix_with_one_sample + "." + interval_value + ".3G", |
+ ect_diff, 1); |
histogram_tester.ExpectTotalCount( |
"NQE.Accuracy.EffectiveConnectionType.EstimatedObservedDiff." + |
- sign_suffix_with_zero_samples + "." + interval_value + ".2G", |
+ ect_sign_suffix_with_zero_samples + "." + interval_value + ".3G", |
0); |
histogram_tester.ExpectUniqueSample( |
"NQE.Accuracy.HttpRTT.EstimatedObservedDiff." + |
- sign_suffix_with_one_sample + "." + interval_value + ".60_140", |
- diff, 1); |
+ rtt_sign_suffix_with_one_sample + "." + interval_value + |
+ ".300_620", |
+ rtt_diff, 1); |
histogram_tester.ExpectTotalCount( |
"NQE.Accuracy.HttpRTT.EstimatedObservedDiff." + |
- sign_suffix_with_zero_samples + "." + interval_value + ".60_140", |
+ rtt_sign_suffix_with_zero_samples + "." + interval_value + |
+ ".300_620", |
0); |
histogram_tester.ExpectUniqueSample( |
"NQE.Accuracy.TransportRTT.EstimatedObservedDiff." + |
- sign_suffix_with_one_sample + "." + interval_value + ".60_140", |
- diff, 1); |
+ rtt_sign_suffix_with_one_sample + "." + interval_value + |
+ ".300_620", |
+ rtt_diff, 1); |
histogram_tester.ExpectTotalCount( |
"NQE.Accuracy.TransportRTT.EstimatedObservedDiff." + |
- sign_suffix_with_zero_samples + "." + interval_value + ".60_140", |
+ rtt_sign_suffix_with_zero_samples + "." + interval_value + |
+ ".300_620", |
0); |
histogram_tester.ExpectUniqueSample( |
"NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff." + |
- sign_suffix_with_one_sample + "." + interval_value + ".60_140", |
- diff, 1); |
+ rtt_sign_suffix_with_one_sample + "." + interval_value + |
+ ".300_620", |
+ rtt_diff, 1); |
histogram_tester.ExpectTotalCount( |
"NQE.ExternalEstimateProvider.RTT.Accuracy.EstimatedObservedDiff." + |
- sign_suffix_with_zero_samples + "." + interval_value + ".60_140", |
+ rtt_sign_suffix_with_zero_samples + "." + interval_value + |
+ ".300_620", |
0); |
} |
} |
@@ -2026,11 +2124,12 @@ TEST(NetworkQualityEstimatorTest, CorrelationHistogram) { |
} |
TestNetworkQualityEstimator estimator(variation_params); |
- estimator.set_transport_rtt(test.transport_rtt); |
+ estimator.set_start_time_null_transport_rtt(test.transport_rtt); |
estimator.set_recent_transport_rtt(test.transport_rtt); |
- estimator.set_http_rtt(test.http_rtt); |
+ estimator.set_start_time_null_http_rtt(test.http_rtt); |
estimator.set_recent_http_rtt(test.http_rtt); |
- estimator.set_downlink_throughput_kbps(test.downstream_throughput_kbps); |
+ estimator.set_start_time_null_downlink_throughput_kbps( |
+ test.downstream_throughput_kbps); |
estimator.set_rand_double(test.rand_double); |
TestDelegate test_delegate; |