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

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

Issue 2789093003: Mark QUIC broken when the network blackholes after the handshake (Closed)
Patch Set: 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
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 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams( 110 bool ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(
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 "disable_quic_on_timeout_with_open_streams"), 114 "disable_quic_on_timeout_with_open_streams"),
115 "true"); 115 "true");
116 } 116 }
117 117
118 bool ShouldMarkQuicBrokenWhenNetworkSuspected(
119 const VariationParameters& quic_trial_params) {
120 return base::LowerCaseEqualsASCII(
121 GetVariationParam(quic_trial_params,
122 "mark_quic_broken_when_network_suspected"),
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->disable_quic_on_timeout_with_open_streams = 344 params->disable_quic_on_timeout_with_open_streams =
337 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params); 345 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params);
346 params->mark_quic_broken_when_network_suspected =
347 ShouldMarkQuicBrokenWhenNetworkSuspected(quic_trial_params);
338 348
339 params->enable_quic_alternative_service_with_different_host = 349 params->enable_quic_alternative_service_with_different_host =
340 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params); 350 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params);
341 351
342 if (params->enable_quic) { 352 if (params->enable_quic) {
343 params->quic_always_require_handshake_confirmation = 353 params->quic_always_require_handshake_confirmation =
344 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); 354 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params);
345 params->quic_disable_connection_pooling = 355 params->quic_disable_connection_pooling =
346 ShouldQuicDisableConnectionPooling(quic_trial_params); 356 ShouldQuicDisableConnectionPooling(quic_trial_params);
347 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); 357 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params);
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 ConfigureTCPFastOpenParams(tfo_trial_group, params); 479 ConfigureTCPFastOpenParams(tfo_trial_group, params);
470 480
471 std::map<std::string, std::string> proxy_preconnects_trial_params; 481 std::map<std::string, std::string> proxy_preconnects_trial_params;
472 variations::GetVariationParams("NetProxyPreconnects", 482 variations::GetVariationParams("NetProxyPreconnects",
473 &proxy_preconnects_trial_params); 483 &proxy_preconnects_trial_params);
474 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params, 484 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params,
475 params); 485 params);
476 } 486 }
477 487
478 } // namespace network_session_configurator 488 } // namespace network_session_configurator
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698