OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |