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

Unified Diff: chrome/browser/io_thread.cc

Issue 1327923002: Migrates QUIC sessions to a new network when old network is (about to be) disconnected. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@home
Patch Set: Addressed comments Created 5 years, 2 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
Index: chrome/browser/io_thread.cc
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc
index ae4e1a6e0faf7254c64936999ac1d4ee6533d8fd..9abb58ce4e8209d0b7cf54826aef402dfca5b6f1 100644
--- a/chrome/browser/io_thread.cc
+++ b/chrome/browser/io_thread.cc
@@ -1082,6 +1082,8 @@ void IOThread::InitializeNetworkSessionParamsFromGlobals(
params->quic_connection_options = globals.quic_connection_options;
globals.quic_close_sessions_on_ip_change.CopyToIfSet(
&params->quic_close_sessions_on_ip_change);
+ globals.quic_migrate_sessions_on_net_change.CopyToIfSet(
+ &params->quic_migrate_sessions_on_net_change);
globals.origin_to_force_quic_on.CopyToIfSet(
&params->origin_to_force_quic_on);
@@ -1219,6 +1221,8 @@ void IOThread::ConfigureQuicGlobals(
GetQuicConnectionOptions(command_line, quic_trial_params);
globals->quic_close_sessions_on_ip_change.set(
ShouldQuicCloseSessionsOnIpChange(quic_trial_params));
+ globals->quic_migrate_sessions_on_net_change.set(
+ ShouldQuicMigrateSessionsOnNetChange(quic_trial_params));
}
size_t max_packet_length = GetQuicMaxPacketLength(command_line,
@@ -1471,6 +1475,19 @@ bool IOThread::ShouldQuicCloseSessionsOnIpChange(
"true");
}
+bool IOThread::ShouldQuicMigrateSessionsOnNetChange(
+ const VariationParameters& quic_trial_params) {
+#if defined(OS_ANDROID)
+ && base::android::BuildInfo::GetInstance()->sdk_int() >=
+ base::android::SDK_VERSION_LOLLIPOP
+ // Migration only implemented for Android versions >= L.
+ return base::LowerCaseEqualsASCII(
+ GetVariationParam(quic_trial_params, "migrate_sessions_on_net_change"),
+ "true");
+#endif
+ return false;
+}
+
size_t IOThread::GetQuicMaxPacketLength(
const base::CommandLine& command_line,
const VariationParameters& quic_trial_params) {

Powered by Google App Engine
This is Rietveld 408576698