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

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

Issue 2595413002: Race preconnects to HTTP2 proxies that support alternate proxies
Patch Set: Rebased, rch comments Created 3 years, 11 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 | net/http/http_network_session.h » ('j') | net/http/http_network_session.h » ('J')
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 384 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 params->quic_supported_versions = supported_versions; 395 params->quic_supported_versions = supported_versions;
396 } 396 }
397 } 397 }
398 398
399 void ConfigureOptimizePreconnectsToProxiesParams( 399 void ConfigureOptimizePreconnectsToProxiesParams(
400 const std::map<std::string, std::string>& proxy_preconnects_trial_params, 400 const std::map<std::string, std::string>& proxy_preconnects_trial_params,
401 net::HttpNetworkSession::Params* params) { 401 net::HttpNetworkSession::Params* params) {
402 params->restrict_to_one_preconnect_for_proxies = 402 params->restrict_to_one_preconnect_for_proxies =
403 GetVariationParam(proxy_preconnects_trial_params, 403 GetVariationParam(proxy_preconnects_trial_params,
404 "restrict_to_one_preconnect_for_proxies") == "true"; 404 "restrict_to_one_preconnect_for_proxies") == "true";
405 params->race_preconnects_to_http2_proxies =
406 GetVariationParam(proxy_preconnects_trial_params,
407 "race_preconnects_to_http2_proxies") == "true";
405 } 408 }
406 409
407 } // anonymous namespace 410 } // anonymous namespace
408 411
409 namespace network_session_configurator { 412 namespace network_session_configurator {
410 413
411 net::QuicVersion ParseQuicVersion(const std::string& quic_version) { 414 net::QuicVersion ParseQuicVersion(const std::string& quic_version) {
412 net::QuicVersionVector supported_versions = net::AllSupportedVersions(); 415 net::QuicVersionVector supported_versions = net::AllSupportedVersions();
413 for (size_t i = 0; i < supported_versions.size(); ++i) { 416 for (size_t i = 0; i < supported_versions.size(); ++i) {
414 net::QuicVersion version = supported_versions[i]; 417 net::QuicVersion version = supported_versions[i];
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 ConfigureTCPFastOpenParams(tfo_trial_group, params); 449 ConfigureTCPFastOpenParams(tfo_trial_group, params);
447 450
448 std::map<std::string, std::string> proxy_preconnects_trial_params; 451 std::map<std::string, std::string> proxy_preconnects_trial_params;
449 variations::GetVariationParams("NetProxyPreconnects", 452 variations::GetVariationParams("NetProxyPreconnects",
450 &proxy_preconnects_trial_params); 453 &proxy_preconnects_trial_params);
451 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params, 454 ConfigureOptimizePreconnectsToProxiesParams(proxy_preconnects_trial_params,
452 params); 455 params);
453 } 456 }
454 457
455 } // namespace network_session_configurator 458 } // namespace network_session_configurator
OLDNEW
« no previous file with comments | « no previous file | net/http/http_network_session.h » ('j') | net/http/http_network_session.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698