Add finch config param for cronet and Chrome to retry QUIC connection on the alternate network before handshake.
The feature will be controlled by "retry_on_alternate_network_before_handshake".
Bug: 790547
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;master.tryserver.chromium.android:android_cronet_tester
Change-Id: I5812083fe317f996313adce49f9bbd1d14b22f37
Reviewed-on: https://chromium-review.googlesource.com/1242038
Reviewed-by: Misha Efimov <[email protected]>
Reviewed-by: Ryan Hamilton <[email protected]>
Commit-Queue: Misha Efimov <[email protected]>
Cr-Commit-Position: refs/heads/master@{#594386}
diff --git a/components/cronet/url_request_context_config_unittest.cc b/components/cronet/url_request_context_config_unittest.cc
index 05bb0e5..53c7de1c 100644
--- a/components/cronet/url_request_context_config_unittest.cc
+++ b/components/cronet/url_request_context_config_unittest.cc
@@ -203,6 +203,7 @@
EXPECT_FALSE(params->quic_allow_server_migration);
EXPECT_FALSE(params->quic_migrate_sessions_on_network_change_v2);
EXPECT_FALSE(params->quic_migrate_sessions_early_v2);
+ EXPECT_FALSE(params->quic_retry_on_alternate_network_before_handshake);
// Check race_cert_verification.
EXPECT_TRUE(params->quic_race_cert_verification);
@@ -545,6 +546,7 @@
// JSON encoded experimental options.
"{\"QUIC\":{\"migrate_sessions_on_network_change_v2\":true,"
"\"migrate_sessions_early_v2\":true,"
+ "\"retry_on_alternate_network_before_handshake\":true,"
"\"max_time_on_non_default_network_seconds\":10,"
"\"max_migrations_to_non_default_network_on_write_error\":3,"
"\"max_migrations_to_non_default_network_on_path_degrading\":4}}",
@@ -570,6 +572,7 @@
EXPECT_TRUE(params->quic_migrate_sessions_on_network_change_v2);
EXPECT_TRUE(params->quic_migrate_sessions_early_v2);
+ EXPECT_TRUE(params->quic_retry_on_alternate_network_before_handshake);
EXPECT_EQ(base::TimeDelta::FromSeconds(10),
params->quic_max_time_on_non_default_network);
EXPECT_EQ(3,