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

Side by Side 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: Naming fixes. Created 5 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/io_thread.h" 5 #include "chrome/browser/io_thread.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 1154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1165 globals.quic_user_agent_id.CopyToIfSet(&params->quic_user_agent_id); 1165 globals.quic_user_agent_id.CopyToIfSet(&params->quic_user_agent_id);
1166 globals.quic_supported_versions.CopyToIfSet( 1166 globals.quic_supported_versions.CopyToIfSet(
1167 &params->quic_supported_versions); 1167 &params->quic_supported_versions);
1168 params->quic_connection_options = globals.quic_connection_options; 1168 params->quic_connection_options = globals.quic_connection_options;
1169 globals.quic_close_sessions_on_ip_change.CopyToIfSet( 1169 globals.quic_close_sessions_on_ip_change.CopyToIfSet(
1170 &params->quic_close_sessions_on_ip_change); 1170 &params->quic_close_sessions_on_ip_change);
1171 globals.quic_idle_connection_timeout_seconds.CopyToIfSet( 1171 globals.quic_idle_connection_timeout_seconds.CopyToIfSet(
1172 &params->quic_idle_connection_timeout_seconds); 1172 &params->quic_idle_connection_timeout_seconds);
1173 globals.quic_disable_preconnect_if_0rtt.CopyToIfSet( 1173 globals.quic_disable_preconnect_if_0rtt.CopyToIfSet(
1174 &params->quic_disable_preconnect_if_0rtt); 1174 &params->quic_disable_preconnect_if_0rtt);
1175 1175 globals.quic_migrate_sessions_on_network_change.CopyToIfSet(
1176 &params->quic_migrate_sessions_on_network_change);
1176 globals.origin_to_force_quic_on.CopyToIfSet( 1177 globals.origin_to_force_quic_on.CopyToIfSet(
1177 &params->origin_to_force_quic_on); 1178 &params->origin_to_force_quic_on);
1178 params->enable_user_alternate_protocol_ports = 1179 params->enable_user_alternate_protocol_ports =
1179 globals.enable_user_alternate_protocol_ports; 1180 globals.enable_user_alternate_protocol_ports;
1180 } 1181 }
1181 1182
1182 base::TimeTicks IOThread::creation_time() const { 1183 base::TimeTicks IOThread::creation_time() const {
1183 return creation_time_; 1184 return creation_time_;
1184 } 1185 }
1185 1186
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
1304 globals->quic_close_sessions_on_ip_change.set( 1305 globals->quic_close_sessions_on_ip_change.set(
1305 ShouldQuicCloseSessionsOnIpChange(quic_trial_params)); 1306 ShouldQuicCloseSessionsOnIpChange(quic_trial_params));
1306 int idle_connection_timeout_seconds = GetQuicIdleConnectionTimeoutSeconds( 1307 int idle_connection_timeout_seconds = GetQuicIdleConnectionTimeoutSeconds(
1307 quic_trial_params); 1308 quic_trial_params);
1308 if (idle_connection_timeout_seconds != 0) { 1309 if (idle_connection_timeout_seconds != 0) {
1309 globals->quic_idle_connection_timeout_seconds.set( 1310 globals->quic_idle_connection_timeout_seconds.set(
1310 idle_connection_timeout_seconds); 1311 idle_connection_timeout_seconds);
1311 } 1312 }
1312 globals->quic_disable_preconnect_if_0rtt.set( 1313 globals->quic_disable_preconnect_if_0rtt.set(
1313 ShouldQuicDisablePreConnectIfZeroRtt(quic_trial_params)); 1314 ShouldQuicDisablePreConnectIfZeroRtt(quic_trial_params));
1315 globals->quic_migrate_sessions_on_network_change.set(
1316 ShouldQuicMigrateSessionsOnNetworkChange(quic_trial_params));
1314 } 1317 }
1315 1318
1316 size_t max_packet_length = GetQuicMaxPacketLength(command_line, 1319 size_t max_packet_length = GetQuicMaxPacketLength(command_line,
1317 quic_trial_params); 1320 quic_trial_params);
1318 if (max_packet_length != 0) { 1321 if (max_packet_length != 0) {
1319 globals->quic_max_packet_length.set(max_packet_length); 1322 globals->quic_max_packet_length.set(max_packet_length);
1320 } 1323 }
1321 1324
1322 std::string quic_user_agent_id = chrome::GetChannelString(); 1325 std::string quic_user_agent_id = chrome::GetChannelString();
1323 if (!quic_user_agent_id.empty()) 1326 if (!quic_user_agent_id.empty())
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
1561 return value; 1564 return value;
1562 } 1565 }
1563 return 0; 1566 return 0;
1564 } 1567 }
1565 1568
1566 bool IOThread::ShouldQuicDisablePreConnectIfZeroRtt( 1569 bool IOThread::ShouldQuicDisablePreConnectIfZeroRtt(
1567 const VariationParameters& quic_trial_params) { 1570 const VariationParameters& quic_trial_params) {
1568 return base::LowerCaseEqualsASCII( 1571 return base::LowerCaseEqualsASCII(
1569 GetVariationParam(quic_trial_params, "disable_preconnect_if_0rtt"), 1572 GetVariationParam(quic_trial_params, "disable_preconnect_if_0rtt"),
1570 "true"); 1573 "true");
1574
1575 bool IOThread::ShouldQuicMigrateSessionsOnNetworkChange(
1576 const VariationParameters& quic_trial_params) {
1577 return base::LowerCaseEqualsASCII(
1578 GetVariationParam(quic_trial_params,
1579 "migrate_sessions_on_network_change"),
1580 "true");
1581 return false;
1571 } 1582 }
1572 1583
1573 size_t IOThread::GetQuicMaxPacketLength( 1584 size_t IOThread::GetQuicMaxPacketLength(
1574 const base::CommandLine& command_line, 1585 const base::CommandLine& command_line,
1575 const VariationParameters& quic_trial_params) { 1586 const VariationParameters& quic_trial_params) {
1576 if (command_line.HasSwitch(switches::kQuicMaxPacketLength)) { 1587 if (command_line.HasSwitch(switches::kQuicMaxPacketLength)) {
1577 unsigned value; 1588 unsigned value;
1578 if (!base::StringToUint( 1589 if (!base::StringToUint(
1579 command_line.GetSwitchValueASCII(switches::kQuicMaxPacketLength), 1590 command_line.GetSwitchValueASCII(switches::kQuicMaxPacketLength),
1580 &value)) { 1591 &value)) {
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
1741 globals->proxy_script_fetcher_url_request_job_factory = job_factory.Pass(); 1752 globals->proxy_script_fetcher_url_request_job_factory = job_factory.Pass();
1742 1753
1743 context->set_job_factory( 1754 context->set_job_factory(
1744 globals->proxy_script_fetcher_url_request_job_factory.get()); 1755 globals->proxy_script_fetcher_url_request_job_factory.get());
1745 1756
1746 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the 1757 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the
1747 // system URLRequestContext too. There's no reason this should be tied to a 1758 // system URLRequestContext too. There's no reason this should be tied to a
1748 // profile. 1759 // profile.
1749 return context; 1760 return context;
1750 } 1761 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698