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

Side by Side Diff: net/quic/quic_stream_factory_test.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: Fix comments in Patch set 4 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
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | net/url_request/url_request_context_builder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/quic/quic_stream_factory.h" 5 #include "net/quic/quic_stream_factory.h"
6 6
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_util.h" 8 #include "base/strings/string_util.h"
9 #include "base/thread_task_runner_handle.h" 9 #include "base/thread_task_runner_handle.h"
10 #include "net/base/test_data_directory.h" 10 #include "net/base/test_data_directory.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 enable_non_blocking_io_(true), 210 enable_non_blocking_io_(true),
211 disable_disk_cache_(false), 211 disable_disk_cache_(false),
212 prefer_aes_(false), 212 prefer_aes_(false),
213 max_number_of_lossy_connections_(0), 213 max_number_of_lossy_connections_(0),
214 packet_loss_threshold_(1.0f), 214 packet_loss_threshold_(1.0f),
215 max_disabled_reasons_(3), 215 max_disabled_reasons_(3),
216 threshold_timeouts_with_open_streams_(2), 216 threshold_timeouts_with_open_streams_(2),
217 threshold_public_resets_post_handshake_(2), 217 threshold_public_resets_post_handshake_(2),
218 receive_buffer_size_(0), 218 receive_buffer_size_(0),
219 delay_tcp_race_(false), 219 delay_tcp_race_(false),
220 store_server_configs_in_properties_(false),
221 close_sessions_on_ip_change_(false), 220 close_sessions_on_ip_change_(false),
222 idle_connection_timeout_seconds_(kIdleConnectionTimeoutSeconds), 221 idle_connection_timeout_seconds_(kIdleConnectionTimeoutSeconds),
223 migrate_sessions_on_network_change_(false) { 222 migrate_sessions_on_network_change_(false) {
224 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1)); 223 clock_->AdvanceTime(QuicTime::Delta::FromSeconds(1));
225 } 224 }
226 225
227 void Initialize() { 226 void Initialize() {
228 factory_.reset(new QuicStreamFactory( 227 factory_.reset(new QuicStreamFactory(
229 &host_resolver_, &socket_factory_, http_server_properties_.GetWeakPtr(), 228 &host_resolver_, &socket_factory_, http_server_properties_.GetWeakPtr(),
230 cert_verifier_.get(), nullptr, channel_id_service_.get(), 229 cert_verifier_.get(), nullptr, channel_id_service_.get(),
231 &transport_security_state_, cert_transparency_verifier_.get(), 230 &transport_security_state_, cert_transparency_verifier_.get(),
232 /*SocketPerformanceWatcherFactory*/ nullptr, 231 /*SocketPerformanceWatcherFactory*/ nullptr,
233 &crypto_client_stream_factory_, &random_generator_, clock_, 232 &crypto_client_stream_factory_, &random_generator_, clock_,
234 kDefaultMaxPacketSize, std::string(), 233 kDefaultMaxPacketSize, std::string(),
235 SupportedVersions(GetParam().version), enable_port_selection_, 234 SupportedVersions(GetParam().version), enable_port_selection_,
236 always_require_handshake_confirmation_, disable_connection_pooling_, 235 always_require_handshake_confirmation_, disable_connection_pooling_,
237 load_server_info_timeout_srtt_multiplier_, enable_connection_racing_, 236 load_server_info_timeout_srtt_multiplier_, enable_connection_racing_,
238 enable_non_blocking_io_, disable_disk_cache_, prefer_aes_, 237 enable_non_blocking_io_, disable_disk_cache_, prefer_aes_,
239 max_number_of_lossy_connections_, packet_loss_threshold_, 238 max_number_of_lossy_connections_, packet_loss_threshold_,
240 max_disabled_reasons_, threshold_timeouts_with_open_streams_, 239 max_disabled_reasons_, threshold_timeouts_with_open_streams_,
241 threshold_public_resets_post_handshake_, receive_buffer_size_, 240 threshold_public_resets_post_handshake_, receive_buffer_size_,
242 delay_tcp_race_, store_server_configs_in_properties_, 241 delay_tcp_race_, /*max_server_configs_stored_in_properties*/ 0,
243 close_sessions_on_ip_change_, idle_connection_timeout_seconds_, 242 close_sessions_on_ip_change_, idle_connection_timeout_seconds_,
244 migrate_sessions_on_network_change_, QuicTagVector())); 243 migrate_sessions_on_network_change_, QuicTagVector()));
245 factory_->set_require_confirmation(false); 244 factory_->set_require_confirmation(false);
245 EXPECT_FALSE(factory_->has_quic_server_info_factory());
246 factory_->set_quic_server_info_factory(new MockQuicServerInfoFactory()); 246 factory_->set_quic_server_info_factory(new MockQuicServerInfoFactory());
247 EXPECT_TRUE(factory_->has_quic_server_info_factory());
247 } 248 }
248 249
249 void InitializeConnectionMigrationTest( 250 void InitializeConnectionMigrationTest(
250 NetworkChangeNotifier::NetworkList connected_networks) { 251 NetworkChangeNotifier::NetworkList connected_networks) {
251 scoped_mock_network_change_notifier_.reset( 252 scoped_mock_network_change_notifier_.reset(
252 new ScopedMockNetworkChangeNotifier()); 253 new ScopedMockNetworkChangeNotifier());
253 MockNetworkChangeNotifier* mock_ncn = 254 MockNetworkChangeNotifier* mock_ncn =
254 scoped_mock_network_change_notifier_->mock_network_change_notifier(); 255 scoped_mock_network_change_notifier_->mock_network_change_notifier();
255 mock_ncn->ForceNetworkHandlesSupported(); 256 mock_ncn->ForceNetworkHandlesSupported();
256 mock_ncn->SetConnectedNetworksList(connected_networks); 257 mock_ncn->SetConnectedNetworksList(connected_networks);
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 bool enable_non_blocking_io_; 405 bool enable_non_blocking_io_;
405 bool disable_disk_cache_; 406 bool disable_disk_cache_;
406 bool prefer_aes_; 407 bool prefer_aes_;
407 int max_number_of_lossy_connections_; 408 int max_number_of_lossy_connections_;
408 double packet_loss_threshold_; 409 double packet_loss_threshold_;
409 int max_disabled_reasons_; 410 int max_disabled_reasons_;
410 int threshold_timeouts_with_open_streams_; 411 int threshold_timeouts_with_open_streams_;
411 int threshold_public_resets_post_handshake_; 412 int threshold_public_resets_post_handshake_;
412 int receive_buffer_size_; 413 int receive_buffer_size_;
413 bool delay_tcp_race_; 414 bool delay_tcp_race_;
414 bool store_server_configs_in_properties_;
415 bool close_sessions_on_ip_change_; 415 bool close_sessions_on_ip_change_;
416 int idle_connection_timeout_seconds_; 416 int idle_connection_timeout_seconds_;
417 bool migrate_sessions_on_network_change_; 417 bool migrate_sessions_on_network_change_;
418 }; 418 };
419 419
420 INSTANTIATE_TEST_CASE_P(Version, 420 INSTANTIATE_TEST_CASE_P(Version,
421 QuicStreamFactoryTest, 421 QuicStreamFactoryTest,
422 ::testing::ValuesIn(GetTestParams())); 422 ::testing::ValuesIn(GetTestParams()));
423 423
424 TEST_P(QuicStreamFactoryTest, Create) { 424 TEST_P(QuicStreamFactoryTest, Create) {
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after
3092 EXPECT_EQ(OK, callback_.WaitForResult()); 3092 EXPECT_EQ(OK, callback_.WaitForResult());
3093 3093
3094 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 3094 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
3095 EXPECT_TRUE(stream.get()); 3095 EXPECT_TRUE(stream.get());
3096 EXPECT_TRUE(socket_data.AllReadDataConsumed()); 3096 EXPECT_TRUE(socket_data.AllReadDataConsumed());
3097 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); 3097 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
3098 QuicStreamFactoryPeer::SetDelayTcpRace(factory_.get(), delay_tcp_race); 3098 QuicStreamFactoryPeer::SetDelayTcpRace(factory_.get(), delay_tcp_race);
3099 } 3099 }
3100 3100
3101 TEST_P(QuicStreamFactoryTest, MaybeInitialize) { 3101 TEST_P(QuicStreamFactoryTest, MaybeInitialize) {
3102 store_server_configs_in_properties_ = true;
3103 idle_connection_timeout_seconds_ = 500; 3102 idle_connection_timeout_seconds_ = 500;
3104 Initialize(); 3103 Initialize();
3105 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails(); 3104 ProofVerifyDetailsChromium verify_details = DefaultProofVerifyDetails();
3106 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details); 3105 crypto_client_stream_factory_.AddProofVerifyDetails(&verify_details);
3107 const QuicConfig* config = QuicStreamFactoryPeer::GetConfig(factory_.get()); 3106 const QuicConfig* config = QuicStreamFactoryPeer::GetConfig(factory_.get());
3108 EXPECT_EQ(500, config->IdleConnectionStateLifetime().ToSeconds()); 3107 EXPECT_EQ(500, config->IdleConnectionStateLifetime().ToSeconds());
3109 3108
3110 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get()); 3109 QuicStreamFactoryPeer::SetTaskRunner(factory_.get(), runner_.get());
3111 3110
3112 const AlternativeService alternative_service1(QUIC, host_port_pair_.host(), 3111 const AlternativeService alternative_service1(QUIC, host_port_pair_.host(),
3113 host_port_pair_.port()); 3112 host_port_pair_.port());
3114 AlternativeServiceInfoVector alternative_service_info_vector; 3113 AlternativeServiceInfoVector alternative_service_info_vector;
3115 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1); 3114 base::Time expiration = base::Time::Now() + base::TimeDelta::FromDays(1);
3116 alternative_service_info_vector.push_back( 3115 alternative_service_info_vector.push_back(
3117 AlternativeServiceInfo(alternative_service1, 1.0, expiration)); 3116 AlternativeServiceInfo(alternative_service1, 1.0, expiration));
3118 3117
3119 http_server_properties_.SetAlternativeServices( 3118 http_server_properties_.SetAlternativeServices(
3120 host_port_pair_, alternative_service_info_vector); 3119 host_port_pair_, alternative_service_info_vector);
3120 http_server_properties_.SetMaxServerConfigsStoredInProperties(
3121 kMaxQuicServersToPersist);
3121 3122
3122 QuicServerId quic_server_id(kDefaultServerHostName, 80, 3123 QuicServerId quic_server_id(kDefaultServerHostName, 80,
3123 PRIVACY_MODE_DISABLED); 3124 PRIVACY_MODE_DISABLED);
3124 QuicServerInfoFactory* quic_server_info_factory = 3125 QuicServerInfoFactory* quic_server_info_factory =
3125 new PropertiesBasedQuicServerInfoFactory( 3126 new PropertiesBasedQuicServerInfoFactory(
3126 http_server_properties_.GetWeakPtr()); 3127 http_server_properties_.GetWeakPtr());
3127 factory_->set_quic_server_info_factory(quic_server_info_factory); 3128 factory_->set_quic_server_info_factory(quic_server_info_factory);
3128 3129
3129 scoped_ptr<QuicServerInfo> quic_server_info( 3130 scoped_ptr<QuicServerInfo> quic_server_info(
3130 quic_server_info_factory->GetForServer(quic_server_id)); 3131 quic_server_info_factory->GetForServer(quic_server_id));
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
3281 EXPECT_EQ(1u, observer.executed_count()); 3282 EXPECT_EQ(1u, observer.executed_count());
3282 3283
3283 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream(); 3284 scoped_ptr<QuicHttpStream> stream = request.ReleaseStream();
3284 EXPECT_TRUE(stream.get()); 3285 EXPECT_TRUE(stream.get());
3285 EXPECT_TRUE(socket_data.AllReadDataConsumed()); 3286 EXPECT_TRUE(socket_data.AllReadDataConsumed());
3286 EXPECT_TRUE(socket_data.AllWriteDataConsumed()); 3287 EXPECT_TRUE(socket_data.AllWriteDataConsumed());
3287 } 3288 }
3288 3289
3289 } // namespace test 3290 } // namespace test
3290 } // namespace net 3291 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_stream_factory.cc ('k') | net/url_request/url_request_context_builder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698