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

Side by Side Diff: components/network_session_configurator/network_session_configurator.cc

Issue 2818623002: When HttpNetworkTransaction encounters QUIC errors, retry the request (Closed)
Patch Set: More comments Created 3 years, 8 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 unified diff | Download patch
« no previous file with comments | « no previous file | components/network_session_configurator/network_session_configurator_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "components/network_session_configurator/network_session_configurator.h " 5 #include "components/network_session_configurator/network_session_configurator.h "
6 6
7 #include <map> 7 #include <map>
8 #include <unordered_set> 8 #include <unordered_set>
9 9
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 } 108 }
109 109
110 bool ShouldMarkQuicBrokenWhenNetworkBlackholes( 110 bool ShouldMarkQuicBrokenWhenNetworkBlackholes(
111 const VariationParameters& quic_trial_params) { 111 const VariationParameters& quic_trial_params) {
112 return base::LowerCaseEqualsASCII( 112 return base::LowerCaseEqualsASCII(
113 GetVariationParam(quic_trial_params, 113 GetVariationParam(quic_trial_params,
114 "mark_quic_broken_when_network_blackholes"), 114 "mark_quic_broken_when_network_blackholes"),
115 "true"); 115 "true");
116 } 116 }
117 117
118 bool ShouldRetryWithoutAltSvcOnQuicErrors(
119 const VariationParameters& quic_trial_params) {
120 return base::LowerCaseEqualsASCII(
121 GetVariationParam(quic_trial_params,
122 "retry_without_alt_svc_on_quic_errors"),
123 "true");
124 }
125
118 bool ShouldQuicDisableConnectionPooling( 126 bool ShouldQuicDisableConnectionPooling(
119 const VariationParameters& quic_trial_params) { 127 const VariationParameters& quic_trial_params) {
120 return base::LowerCaseEqualsASCII( 128 return base::LowerCaseEqualsASCII(
121 GetVariationParam(quic_trial_params, "disable_connection_pooling"), 129 GetVariationParam(quic_trial_params, "disable_connection_pooling"),
122 "true"); 130 "true");
123 } 131 }
124 132
125 bool ShouldQuicEnableAlternativeServicesForDifferentHost( 133 bool ShouldQuicEnableAlternativeServicesForDifferentHost(
126 const VariationParameters& quic_trial_params) { 134 const VariationParameters& quic_trial_params) {
127 return !base::LowerCaseEqualsASCII( 135 return !base::LowerCaseEqualsASCII(
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
328 const VariationParameters& quic_trial_params, 336 const VariationParameters& quic_trial_params,
329 bool is_quic_force_disabled, 337 bool is_quic_force_disabled,
330 bool is_quic_force_enabled, 338 bool is_quic_force_enabled,
331 const std::string& quic_user_agent_id, 339 const std::string& quic_user_agent_id,
332 net::HttpNetworkSession::Params* params) { 340 net::HttpNetworkSession::Params* params) {
333 params->enable_quic = ShouldEnableQuic( 341 params->enable_quic = ShouldEnableQuic(
334 quic_trial_group, quic_trial_params, is_quic_force_disabled, 342 quic_trial_group, quic_trial_params, is_quic_force_disabled,
335 is_quic_force_enabled); 343 is_quic_force_enabled);
336 params->mark_quic_broken_when_network_blackholes = 344 params->mark_quic_broken_when_network_blackholes =
337 ShouldMarkQuicBrokenWhenNetworkBlackholes(quic_trial_params); 345 ShouldMarkQuicBrokenWhenNetworkBlackholes(quic_trial_params);
338 346 params->retry_without_alt_svc_on_quic_errors =
347 ShouldRetryWithoutAltSvcOnQuicErrors(quic_trial_params);
339 params->enable_quic_alternative_service_with_different_host = 348 params->enable_quic_alternative_service_with_different_host =
340 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params); 349 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params);
341 350
342 if (params->enable_quic) { 351 if (params->enable_quic) {
343 params->quic_always_require_handshake_confirmation = 352 params->quic_always_require_handshake_confirmation =
344 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); 353 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params);
345 params->quic_disable_connection_pooling = 354 params->quic_disable_connection_pooling =
346 ShouldQuicDisableConnectionPooling(quic_trial_params); 355 ShouldQuicDisableConnectionPooling(quic_trial_params);
347 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); 356 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params);
348 if (receive_buffer_size != 0) { 357 if (receive_buffer_size != 0) {
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 ConfigureTCPFastOpenParams(tfo_trial_group, params); 478 ConfigureTCPFastOpenParams(tfo_trial_group, params);
470 479
471 std::map<std::string, std::string> proxy_preconnects_trial_params; 480 std::map<std::string, std::string> proxy_preconnects_trial_params;
472 variations::GetVariationParams("NetProxyPreconnects", 481 variations::GetVariationParams("NetProxyPreconnects",
473 &proxy_preconnects_trial_params); 482 &proxy_preconnects_trial_params);
474 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params, 483 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params,
475 params); 484 params);
476 } 485 }
477 486
478 } // namespace network_session_configurator 487 } // namespace network_session_configurator
OLDNEW
« no previous file with comments | « no previous file | components/network_session_configurator/network_session_configurator_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698