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

Unified Diff: net/nqe/network_quality_estimator_params.cc

Issue 2481373004: NQE: Add default RTT and throughput observations (Closed)
Patch Set: Addressed ryansturm comments Created 4 years, 1 month 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
Index: net/nqe/network_quality_estimator_params.cc
diff --git a/net/nqe/network_quality_estimator_params.cc b/net/nqe/network_quality_estimator_params.cc
index 1479e3e7bc0ed26c835a6e03a847dbc7ae4dae6a..e59f94df0884e1ad8dbff26e604480a2a00deaf8 100644
--- a/net/nqe/network_quality_estimator_params.cc
+++ b/net/nqe/network_quality_estimator_params.cc
@@ -127,26 +127,76 @@ void ObtainDefaultObservations(
const std::map<std::string, std::string>& variation_params,
NetworkQuality default_observations[]) {
for (size_t i = 0; i < NetworkChangeNotifier::CONNECTION_LAST; ++i) {
- NetworkChangeNotifier::ConnectionType type =
- static_cast<NetworkChangeNotifier::ConnectionType>(i);
DCHECK_EQ(InvalidRTT(), default_observations[i].http_rtt());
DCHECK_EQ(InvalidRTT(), default_observations[i].transport_rtt());
DCHECK_EQ(kInvalidThroughput,
default_observations[i].downstream_throughput_kbps());
+ }
+
+ // First set the default thresholds.
bengr 2016/11/29 18:39:15 Add to this comment to be a little clearer: // De
tbansal1 2016/12/02 17:41:17 Done.
+ default_observations[NetworkChangeNotifier::CONNECTION_UNKNOWN] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(115),
+ base::TimeDelta::FromMilliseconds(55), 1961);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_ETHERNET] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(90),
+ base::TimeDelta::FromMilliseconds(33), 1456);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_WIFI] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(116),
+ base::TimeDelta::FromMilliseconds(66), 2658);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_2G] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(1726),
+ base::TimeDelta::FromMilliseconds(1531), 74);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_3G] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(272),
+ base::TimeDelta::FromMilliseconds(209), 749);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_4G] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(137),
+ base::TimeDelta::FromMilliseconds(80), 1708);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_NONE] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(163),
+ base::TimeDelta::FromMilliseconds(83), 575);
+
+ default_observations[NetworkChangeNotifier::CONNECTION_BLUETOOTH] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(385),
+ base::TimeDelta::FromMilliseconds(318), 476);
+
+ // Override using the values provided via variation params.
+ for (size_t i = 0; i <= NetworkChangeNotifier::CONNECTION_LAST; ++i) {
+ NetworkChangeNotifier::ConnectionType type =
+ static_cast<NetworkChangeNotifier::ConnectionType>(i);
- base::TimeDelta default_rtt = InvalidRTT();
int32_t variations_value = kMinimumRTTVariationParameterMsec - 1;
std::string parameter_name = std::string(GetNameForConnectionType(type))
.append(".DefaultMedianRTTMsec");
auto it = variation_params.find(parameter_name);
+ if (it != variation_params.end() &&
+ base::StringToInt(it->second, &variations_value) &&
+ variations_value >= kMinimumRTTVariationParameterMsec) {
+ default_observations[i] =
+ NetworkQuality(base::TimeDelta::FromMilliseconds(variations_value),
+ default_observations[i].transport_rtt(),
+ default_observations[i].downstream_throughput_kbps());
+ }
+ variations_value = kMinimumRTTVariationParameterMsec - 1;
+ parameter_name = std::string(GetNameForConnectionType(type))
+ .append(".DefaultMedianTransportRTTMsec");
+ it = variation_params.find(parameter_name);
if (it != variation_params.end() &&
base::StringToInt(it->second, &variations_value) &&
variations_value >= kMinimumRTTVariationParameterMsec) {
- default_rtt = base::TimeDelta::FromMilliseconds(variations_value);
+ default_observations[i] =
+ NetworkQuality(default_observations[i].http_rtt(),
+ base::TimeDelta::FromMilliseconds(variations_value),
+ default_observations[i].downstream_throughput_kbps());
}
- int32_t downstream_throughput_kbps = kInvalidThroughput;
variations_value = kMinimumThroughputVariationParameterKbps - 1;
parameter_name = std::string(GetNameForConnectionType(type))
.append(".DefaultMedianKbps");
@@ -155,12 +205,10 @@ void ObtainDefaultObservations(
if (it != variation_params.end() &&
base::StringToInt(it->second, &variations_value) &&
variations_value >= kMinimumThroughputVariationParameterKbps) {
- downstream_throughput_kbps = variations_value;
+ default_observations[i] = NetworkQuality(
+ default_observations[i].http_rtt(),
+ default_observations[i].transport_rtt(), variations_value);
}
-
- default_observations[i] =
- NetworkQuality(default_rtt, default_observations[i].transport_rtt(),
- downstream_throughput_kbps);
}
}

Powered by Google App Engine
This is Rietveld 408576698