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 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 return value; | 317 return value; |
318 } | 318 } |
319 return 0; | 319 return 0; |
320 } | 320 } |
321 | 321 |
322 net::QuicVersion GetQuicVersion(const VariationParameters& quic_trial_params) { | 322 net::QuicVersion GetQuicVersion(const VariationParameters& quic_trial_params) { |
323 return network_session_configurator::ParseQuicVersion( | 323 return network_session_configurator::ParseQuicVersion( |
324 GetVariationParam(quic_trial_params, "quic_version")); | 324 GetVariationParam(quic_trial_params, "quic_version")); |
325 } | 325 } |
326 | 326 |
| 327 bool ShouldEnableServerPushCancelation( |
| 328 const VariationParameters& quic_trial_params) { |
| 329 return base::LowerCaseEqualsASCII( |
| 330 GetVariationParam(quic_trial_params, "enable_server_push_cancellation"), |
| 331 "true"); |
| 332 } |
| 333 |
327 void ConfigureQuicParams(base::StringPiece quic_trial_group, | 334 void ConfigureQuicParams(base::StringPiece quic_trial_group, |
328 const VariationParameters& quic_trial_params, | 335 const VariationParameters& quic_trial_params, |
329 bool is_quic_force_disabled, | 336 bool is_quic_force_disabled, |
330 bool is_quic_force_enabled, | 337 bool is_quic_force_enabled, |
331 const std::string& quic_user_agent_id, | 338 const std::string& quic_user_agent_id, |
332 net::HttpNetworkSession::Params* params) { | 339 net::HttpNetworkSession::Params* params) { |
333 params->enable_quic = ShouldEnableQuic( | 340 params->enable_quic = ShouldEnableQuic( |
334 quic_trial_group, quic_trial_params, is_quic_force_disabled, | 341 quic_trial_group, quic_trial_params, is_quic_force_disabled, |
335 is_quic_force_enabled); | 342 is_quic_force_enabled); |
336 params->disable_quic_on_timeout_with_open_streams = | 343 params->disable_quic_on_timeout_with_open_streams = |
337 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params); | 344 ShouldDisableQuicWhenConnectionTimesOutWithOpenStreams(quic_trial_params); |
| 345 params->enable_server_push_cancellation = |
| 346 ShouldEnableServerPushCancelation(quic_trial_params); |
338 | 347 |
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); |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 |
OLD | NEW |