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

Side by Side Diff: net/quic/quic_stream_factory.h

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/http/http_server_properties_manager_unittest.cc ('k') | net/quic/quic_stream_factory.cc » ('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 #ifndef NET_QUIC_QUIC_STREAM_FACTORY_H_ 5 #ifndef NET_QUIC_QUIC_STREAM_FACTORY_H_
6 #define NET_QUIC_QUIC_STREAM_FACTORY_H_ 6 #define NET_QUIC_QUIC_STREAM_FACTORY_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 bool enable_non_blocking_io, 140 bool enable_non_blocking_io,
141 bool disable_disk_cache, 141 bool disable_disk_cache,
142 bool prefer_aes, 142 bool prefer_aes,
143 int max_number_of_lossy_connections, 143 int max_number_of_lossy_connections,
144 float packet_loss_threshold, 144 float packet_loss_threshold,
145 int max_recent_disabled_reasons, 145 int max_recent_disabled_reasons,
146 int threshold_timeouts_with_streams_open, 146 int threshold_timeouts_with_streams_open,
147 int threshold_public_resets_post_handshake, 147 int threshold_public_resets_post_handshake,
148 int socket_receive_buffer_size, 148 int socket_receive_buffer_size,
149 bool delay_tcp_race, 149 bool delay_tcp_race,
150 bool store_server_configs_in_properties, 150 int max_server_configs_stored_in_properties,
151 bool close_sessions_on_ip_change, 151 bool close_sessions_on_ip_change,
152 int idle_connection_timeout_seconds, 152 int idle_connection_timeout_seconds,
153 bool migrate_sessions_on_network_change, 153 bool migrate_sessions_on_network_change,
154 const QuicTagVector& connection_options); 154 const QuicTagVector& connection_options);
155 ~QuicStreamFactory() override; 155 ~QuicStreamFactory() override;
156 156
157 // Returns true if there is an existing session to |server_id| which can be 157 // Returns true if there is an existing session to |server_id| which can be
158 // used for request to |origin_host|. 158 // used for request to |origin_host|.
159 bool CanUseExistingSession(QuicServerId server_id, 159 bool CanUseExistingSession(QuicServerId server_id,
160 PrivacyMode privacy_mode, 160 PrivacyMode privacy_mode,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 bool ZeroRTTEnabledFor(const QuicServerId& server_id); 269 bool ZeroRTTEnabledFor(const QuicServerId& server_id);
270 270
271 // It returns the amount of time waiting job should be delayed. 271 // It returns the amount of time waiting job should be delayed.
272 base::TimeDelta GetTimeDelayForWaitingJob(const QuicServerId& server_id); 272 base::TimeDelta GetTimeDelayForWaitingJob(const QuicServerId& server_id);
273 273
274 QuicConnectionHelper* helper() { return helper_.get(); } 274 QuicConnectionHelper* helper() { return helper_.get(); }
275 275
276 bool enable_port_selection() const { return enable_port_selection_; } 276 bool enable_port_selection() const { return enable_port_selection_; }
277 277
278 bool has_quic_server_info_factory() { 278 bool has_quic_server_info_factory() {
279 return !quic_server_info_factory_.get(); 279 return quic_server_info_factory_.get() != nullptr;
280 } 280 }
281 281
282 void set_quic_server_info_factory( 282 void set_quic_server_info_factory(
283 QuicServerInfoFactory* quic_server_info_factory); 283 QuicServerInfoFactory* quic_server_info_factory);
284 284
285 bool enable_connection_racing() const { return enable_connection_racing_; } 285 bool enable_connection_racing() const { return enable_connection_racing_; }
286 void set_enable_connection_racing(bool enable_connection_racing) { 286 void set_enable_connection_racing(bool enable_connection_racing) {
287 enable_connection_racing_ = enable_connection_racing; 287 enable_connection_racing_ = enable_connection_racing;
288 } 288 }
289 289
290 int socket_receive_buffer_size() const { return socket_receive_buffer_size_; } 290 int socket_receive_buffer_size() const { return socket_receive_buffer_size_; }
291 291
292 bool delay_tcp_race() const { return delay_tcp_race_; } 292 bool delay_tcp_race() const { return delay_tcp_race_; }
293 293
294 bool store_server_configs_in_properties() const {
295 return store_server_configs_in_properties_;
296 }
297
298 private: 294 private:
299 class Job; 295 class Job;
300 friend class test::QuicStreamFactoryPeer; 296 friend class test::QuicStreamFactoryPeer;
301 FRIEND_TEST_ALL_PREFIXES(HttpStreamFactoryTest, QuicLossyProxyMarkedAsBad); 297 FRIEND_TEST_ALL_PREFIXES(HttpStreamFactoryTest, QuicLossyProxyMarkedAsBad);
302 298
303 typedef std::map<QuicServerId, QuicChromiumClientSession*> SessionMap; 299 typedef std::map<QuicServerId, QuicChromiumClientSession*> SessionMap;
304 typedef std::map<QuicChromiumClientSession*, QuicServerId> SessionIdMap; 300 typedef std::map<QuicChromiumClientSession*, QuicServerId> SessionIdMap;
305 typedef std::set<QuicServerId> AliasSet; 301 typedef std::set<QuicServerId> AliasSet;
306 typedef std::map<QuicChromiumClientSession*, AliasSet> SessionAliasMap; 302 typedef std::map<QuicChromiumClientSession*, AliasSet> SessionAliasMap;
307 typedef std::set<QuicChromiumClientSession*> SessionSet; 303 typedef std::set<QuicChromiumClientSession*> SessionSet;
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 471
476 // Set if we do want to delay TCP connection when it is racing with QUIC. 472 // Set if we do want to delay TCP connection when it is racing with QUIC.
477 bool delay_tcp_race_; 473 bool delay_tcp_race_;
478 474
479 // If more than |yield_after_packets_| packets have been read or more than 475 // If more than |yield_after_packets_| packets have been read or more than
480 // |yield_after_duration_| time has passed, then 476 // |yield_after_duration_| time has passed, then
481 // QuicPacketReader::StartReading() yields by doing a PostTask(). 477 // QuicPacketReader::StartReading() yields by doing a PostTask().
482 int yield_after_packets_; 478 int yield_after_packets_;
483 QuicTime::Delta yield_after_duration_; 479 QuicTime::Delta yield_after_duration_;
484 480
485 // Set if server configs are to be stored in HttpServerProperties.
486 bool store_server_configs_in_properties_;
487
488 // Set if all sessions should be closed when any local IP address changes. 481 // Set if all sessions should be closed when any local IP address changes.
489 const bool close_sessions_on_ip_change_; 482 const bool close_sessions_on_ip_change_;
490 483
491 // Set if migration should be attempted on active sessions when primary 484 // Set if migration should be attempted on active sessions when primary
492 // interface changes. 485 // interface changes.
493 const bool migrate_sessions_on_network_change_; 486 const bool migrate_sessions_on_network_change_;
494 487
495 // Each profile will (probably) have a unique port_seed_ value. This value 488 // Each profile will (probably) have a unique port_seed_ value. This value
496 // is used to help seed a pseudo-random number generator (PortSuggester) so 489 // is used to help seed a pseudo-random number generator (PortSuggester) so
497 // that we consistently (within this profile) suggest the same ephemeral 490 // that we consistently (within this profile) suggest the same ephemeral
(...skipping 13 matching lines...) Expand all
511 base::TaskRunner* task_runner_; 504 base::TaskRunner* task_runner_;
512 505
513 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; 506 base::WeakPtrFactory<QuicStreamFactory> weak_factory_;
514 507
515 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); 508 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory);
516 }; 509 };
517 510
518 } // namespace net 511 } // namespace net
519 512
520 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_ 513 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_
OLDNEW
« no previous file with comments | « net/http/http_server_properties_manager_unittest.cc ('k') | net/quic/quic_stream_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698