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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 if (is_quic_force_enabled) | 100 if (is_quic_force_enabled) |
101 return true; | 101 return true; |
102 | 102 |
103 return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) || | 103 return quic_trial_group.starts_with(kQuicFieldTrialEnabledGroupName) || |
104 quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName) || | 104 quic_trial_group.starts_with(kQuicFieldTrialHttpsEnabledGroupName) || |
105 base::LowerCaseEqualsASCII( | 105 base::LowerCaseEqualsASCII( |
106 GetVariationParam(quic_trial_params, "enable_quic"), | 106 GetVariationParam(quic_trial_params, "enable_quic"), |
107 "true"); | 107 "true"); |
108 } | 108 } |
109 | 109 |
| 110 bool ShouldMarkQuicBrokenWhenNetworkBlackholes( |
| 111 const VariationParameters& quic_trial_params) { |
| 112 return base::LowerCaseEqualsASCII( |
| 113 GetVariationParam(quic_trial_params, |
| 114 "mark_quic_broken_when_network_blackholes"), |
| 115 "true"); |
| 116 } |
| 117 |
110 bool ShouldQuicDisableConnectionPooling( | 118 bool ShouldQuicDisableConnectionPooling( |
111 const VariationParameters& quic_trial_params) { | 119 const VariationParameters& quic_trial_params) { |
112 return base::LowerCaseEqualsASCII( | 120 return base::LowerCaseEqualsASCII( |
113 GetVariationParam(quic_trial_params, "disable_connection_pooling"), | 121 GetVariationParam(quic_trial_params, "disable_connection_pooling"), |
114 "true"); | 122 "true"); |
115 } | 123 } |
116 | 124 |
117 bool ShouldQuicEnableAlternativeServicesForDifferentHost( | 125 bool ShouldQuicEnableAlternativeServicesForDifferentHost( |
118 const VariationParameters& quic_trial_params) { | 126 const VariationParameters& quic_trial_params) { |
119 return !base::LowerCaseEqualsASCII( | 127 return !base::LowerCaseEqualsASCII( |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 | 326 |
319 void ConfigureQuicParams(base::StringPiece quic_trial_group, | 327 void ConfigureQuicParams(base::StringPiece quic_trial_group, |
320 const VariationParameters& quic_trial_params, | 328 const VariationParameters& quic_trial_params, |
321 bool is_quic_force_disabled, | 329 bool is_quic_force_disabled, |
322 bool is_quic_force_enabled, | 330 bool is_quic_force_enabled, |
323 const std::string& quic_user_agent_id, | 331 const std::string& quic_user_agent_id, |
324 net::HttpNetworkSession::Params* params) { | 332 net::HttpNetworkSession::Params* params) { |
325 params->enable_quic = ShouldEnableQuic( | 333 params->enable_quic = ShouldEnableQuic( |
326 quic_trial_group, quic_trial_params, is_quic_force_disabled, | 334 quic_trial_group, quic_trial_params, is_quic_force_disabled, |
327 is_quic_force_enabled); | 335 is_quic_force_enabled); |
| 336 params->mark_quic_broken_when_network_blackholes = |
| 337 ShouldMarkQuicBrokenWhenNetworkBlackholes(quic_trial_params); |
328 | 338 |
329 params->enable_quic_alternative_service_with_different_host = | 339 params->enable_quic_alternative_service_with_different_host = |
330 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params); | 340 ShouldQuicEnableAlternativeServicesForDifferentHost(quic_trial_params); |
331 | 341 |
332 if (params->enable_quic) { | 342 if (params->enable_quic) { |
333 params->quic_always_require_handshake_confirmation = | 343 params->quic_always_require_handshake_confirmation = |
334 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); | 344 ShouldQuicAlwaysRequireHandshakeConfirmation(quic_trial_params); |
335 params->quic_disable_connection_pooling = | 345 params->quic_disable_connection_pooling = |
336 ShouldQuicDisableConnectionPooling(quic_trial_params); | 346 ShouldQuicDisableConnectionPooling(quic_trial_params); |
337 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); | 347 int receive_buffer_size = GetQuicSocketReceiveBufferSize(quic_trial_params); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
459 ConfigureTCPFastOpenParams(tfo_trial_group, params); | 469 ConfigureTCPFastOpenParams(tfo_trial_group, params); |
460 | 470 |
461 std::map<std::string, std::string> proxy_preconnects_trial_params; | 471 std::map<std::string, std::string> proxy_preconnects_trial_params; |
462 variations::GetVariationParams("NetProxyPreconnects", | 472 variations::GetVariationParams("NetProxyPreconnects", |
463 &proxy_preconnects_trial_params); | 473 &proxy_preconnects_trial_params); |
464 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params, | 474 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params, |
465 params); | 475 params); |
466 } | 476 } |
467 | 477 |
468 } // namespace network_session_configurator | 478 } // namespace network_session_configurator |
OLD | NEW |