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

Side by Side Diff: components/cronet/url_request_context_config.cc

Issue 1572753003: QUIC - Allow cronet apps to specify how many server configs are to be (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: load all server configs from disk Created 4 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/cronet/url_request_context_config.h" 5 #include "components/cronet/url_request_context_config.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "base/strings/string_number_conversions.h" 12 #include "base/strings/string_number_conversions.h"
13 #include "base/strings/string_piece.h" 13 #include "base/strings/string_piece.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "net/cert/cert_verifier.h" 15 #include "net/cert/cert_verifier.h"
16 #include "net/dns/host_resolver.h" 16 #include "net/dns/host_resolver.h"
17 #include "net/quic/quic_protocol.h" 17 #include "net/quic/quic_protocol.h"
18 #include "net/quic/quic_utils.h" 18 #include "net/quic/quic_utils.h"
19 #include "net/url_request/url_request_context_builder.h" 19 #include "net/url_request/url_request_context_builder.h"
20 20
21 namespace cronet { 21 namespace cronet {
22 22
23 namespace { 23 namespace {
24 24
25 // TODO(xunjieli): Refactor constants in io_thread.cc. 25 // TODO(xunjieli): Refactor constants in io_thread.cc.
26 const char kQuicFieldTrialName[] = "QUIC"; 26 const char kQuicFieldTrialName[] = "QUIC";
27 const char kQuicConnectionOptions[] = "connection_options"; 27 const char kQuicConnectionOptions[] = "connection_options";
28 const char kQuicStoreServerConfigsInProperties[] = 28 const char kQuicStoreServerConfigsInProperties[] =
29 "store_server_configs_in_properties"; 29 "store_server_configs_in_properties";
30 const char kQuicNumberOfServerConfigsStoredInProperties[] =
31 "number_of_server_configs_stored_in_properties";
30 const char kQuicDelayTcpRace[] = "delay_tcp_race"; 32 const char kQuicDelayTcpRace[] = "delay_tcp_race";
31 const char kQuicMaxNumberOfLossyConnections[] = 33 const char kQuicMaxNumberOfLossyConnections[] =
32 "max_number_of_lossy_connections"; 34 "max_number_of_lossy_connections";
33 const char kQuicPacketLossThreshold[] = "packet_loss_threshold"; 35 const char kQuicPacketLossThreshold[] = "packet_loss_threshold";
34 const char kQuicIdleConnectionTimeoutSeconds[] = 36 const char kQuicIdleConnectionTimeoutSeconds[] =
35 "idle_connection_timeout_seconds"; 37 "idle_connection_timeout_seconds";
36 38
37 // AsyncDNS experiment dictionary name. 39 // AsyncDNS experiment dictionary name.
38 const char kAsyncDnsFieldTrialName[] = "AsyncDNS"; 40 const char kAsyncDnsFieldTrialName[] = "AsyncDNS";
39 // Name of boolean to enable AsyncDNS experiment. 41 // Name of boolean to enable AsyncDNS experiment.
(...skipping 27 matching lines...) Expand all
67 69
68 const base::DictionaryValue* quic_args = nullptr; 70 const base::DictionaryValue* quic_args = nullptr;
69 if (dict->GetDictionary(kQuicFieldTrialName, &quic_args)) { 71 if (dict->GetDictionary(kQuicFieldTrialName, &quic_args)) {
70 std::string quic_connection_options; 72 std::string quic_connection_options;
71 if (quic_args->GetString(kQuicConnectionOptions, 73 if (quic_args->GetString(kQuicConnectionOptions,
72 &quic_connection_options)) { 74 &quic_connection_options)) {
73 context_builder->set_quic_connection_options( 75 context_builder->set_quic_connection_options(
74 net::QuicUtils::ParseQuicConnectionOptions(quic_connection_options)); 76 net::QuicUtils::ParseQuicConnectionOptions(quic_connection_options));
75 } 77 }
76 78
79 // TODO(rtenneti): Delete this option after apps stop using it.
80 // Added this for backward compatability.
77 bool quic_store_server_configs_in_properties = false; 81 bool quic_store_server_configs_in_properties = false;
78 if (quic_args->GetBoolean(kQuicStoreServerConfigsInProperties, 82 if (quic_args->GetBoolean(kQuicStoreServerConfigsInProperties,
79 &quic_store_server_configs_in_properties)) { 83 &quic_store_server_configs_in_properties)) {
80 context_builder->set_quic_store_server_configs_in_properties( 84 context_builder->set_quic_number_of_server_configs_stored_in_properties(
81 quic_store_server_configs_in_properties); 85 net::kMaxQuicServersToPersist);
86 }
87
88 int quic_number_of_server_configs_stored_in_properties = 0;
89 if (quic_args->GetInteger(
90 kQuicNumberOfServerConfigsStoredInProperties,
91 &quic_number_of_server_configs_stored_in_properties)) {
92 context_builder->set_quic_number_of_server_configs_stored_in_properties(
93 quic_number_of_server_configs_stored_in_properties);
82 } 94 }
83 95
84 bool quic_delay_tcp_race = false; 96 bool quic_delay_tcp_race = false;
85 if (quic_args->GetBoolean(kQuicDelayTcpRace, &quic_delay_tcp_race)) { 97 if (quic_args->GetBoolean(kQuicDelayTcpRace, &quic_delay_tcp_race)) {
86 context_builder->set_quic_delay_tcp_race(quic_delay_tcp_race); 98 context_builder->set_quic_delay_tcp_race(quic_delay_tcp_race);
87 } 99 }
88 100
89 int quic_max_number_of_lossy_connections = 0; 101 int quic_max_number_of_lossy_connections = 0;
90 if (quic_args->GetInteger(kQuicMaxNumberOfLossyConnections, 102 if (quic_args->GetInteger(kQuicMaxNumberOfLossyConnections,
91 &quic_max_number_of_lossy_connections)) { 103 &quic_max_number_of_lossy_connections)) {
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 212
201 ParseAndSetExperimentalOptions(experimental_options, context_builder, 213 ParseAndSetExperimentalOptions(experimental_options, context_builder,
202 net_log); 214 net_log);
203 215
204 if (mock_cert_verifier) 216 if (mock_cert_verifier)
205 context_builder->SetCertVerifier(std::move(mock_cert_verifier)); 217 context_builder->SetCertVerifier(std::move(mock_cert_verifier));
206 // TODO(mef): Use |config| to set cookies. 218 // TODO(mef): Use |config| to set cookies.
207 } 219 }
208 220
209 } // namespace cronet 221 } // namespace cronet
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698