OLD | NEW |
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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
138 bool enable_non_blocking_io, | 138 bool enable_non_blocking_io, |
139 bool disable_disk_cache, | 139 bool disable_disk_cache, |
140 bool prefer_aes, | 140 bool prefer_aes, |
141 int max_number_of_lossy_connections, | 141 int max_number_of_lossy_connections, |
142 float packet_loss_threshold, | 142 float packet_loss_threshold, |
143 int max_recent_disabled_reasons, | 143 int max_recent_disabled_reasons, |
144 int threshold_timeouts_with_streams_open, | 144 int threshold_timeouts_with_streams_open, |
145 int threshold_public_resets_post_handshake, | 145 int threshold_public_resets_post_handshake, |
146 int socket_receive_buffer_size, | 146 int socket_receive_buffer_size, |
147 bool delay_tcp_race, | 147 bool delay_tcp_race, |
148 bool store_server_configs_in_properties, | 148 int number_of_server_configs_stored_in_properties, |
149 bool close_sessions_on_ip_change, | 149 bool close_sessions_on_ip_change, |
150 int idle_connection_timeout_seconds, | 150 int idle_connection_timeout_seconds, |
151 const QuicTagVector& connection_options); | 151 const QuicTagVector& connection_options); |
152 ~QuicStreamFactory() override; | 152 ~QuicStreamFactory() override; |
153 | 153 |
154 // Creates a new QuicHttpStream to |host_port_pair| which will be | 154 // Creates a new QuicHttpStream to |host_port_pair| which will be |
155 // owned by |request|. | 155 // owned by |request|. |
156 // If a matching session already exists, this method will return OK. If no | 156 // If a matching session already exists, this method will return OK. If no |
157 // matching session exists, this will return ERR_IO_PENDING and will invoke | 157 // matching session exists, this will return ERR_IO_PENDING and will invoke |
158 // OnRequestComplete asynchronously. | 158 // OnRequestComplete asynchronously. |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 248 |
249 bool enable_connection_racing() const { return enable_connection_racing_; } | 249 bool enable_connection_racing() const { return enable_connection_racing_; } |
250 void set_enable_connection_racing(bool enable_connection_racing) { | 250 void set_enable_connection_racing(bool enable_connection_racing) { |
251 enable_connection_racing_ = enable_connection_racing; | 251 enable_connection_racing_ = enable_connection_racing; |
252 } | 252 } |
253 | 253 |
254 int socket_receive_buffer_size() const { return socket_receive_buffer_size_; } | 254 int socket_receive_buffer_size() const { return socket_receive_buffer_size_; } |
255 | 255 |
256 bool delay_tcp_race() const { return delay_tcp_race_; } | 256 bool delay_tcp_race() const { return delay_tcp_race_; } |
257 | 257 |
258 bool store_server_configs_in_properties() const { | 258 int number_of_server_configs_stored_in_properties() const { |
259 return store_server_configs_in_properties_; | 259 return number_of_server_configs_stored_in_properties_; |
260 } | 260 } |
261 | 261 |
262 private: | 262 private: |
263 class Job; | 263 class Job; |
264 friend class test::QuicStreamFactoryPeer; | 264 friend class test::QuicStreamFactoryPeer; |
265 FRIEND_TEST_ALL_PREFIXES(HttpStreamFactoryTest, QuicLossyProxyMarkedAsBad); | 265 FRIEND_TEST_ALL_PREFIXES(HttpStreamFactoryTest, QuicLossyProxyMarkedAsBad); |
266 | 266 |
267 typedef std::map<QuicServerId, QuicChromiumClientSession*> SessionMap; | 267 typedef std::map<QuicServerId, QuicChromiumClientSession*> SessionMap; |
268 typedef std::map<QuicChromiumClientSession*, QuicServerId> SessionIdMap; | 268 typedef std::map<QuicChromiumClientSession*, QuicServerId> SessionIdMap; |
269 typedef std::set<QuicServerId> AliasSet; | 269 typedef std::set<QuicServerId> AliasSet; |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
439 | 439 |
440 // Set if we do want to delay TCP connection when it is racing with QUIC. | 440 // Set if we do want to delay TCP connection when it is racing with QUIC. |
441 bool delay_tcp_race_; | 441 bool delay_tcp_race_; |
442 | 442 |
443 // If more than |yield_after_packets_| packets have been read or more than | 443 // If more than |yield_after_packets_| packets have been read or more than |
444 // |yield_after_duration_| time has passed, then | 444 // |yield_after_duration_| time has passed, then |
445 // QuicPacketReader::StartReading() yields by doing a PostTask(). | 445 // QuicPacketReader::StartReading() yields by doing a PostTask(). |
446 int yield_after_packets_; | 446 int yield_after_packets_; |
447 QuicTime::Delta yield_after_duration_; | 447 QuicTime::Delta yield_after_duration_; |
448 | 448 |
449 // Set if server configs are to be stored in HttpServerProperties. | 449 // Number of server configs that are to be stored in HttpServerProperties. |
450 bool store_server_configs_in_properties_; | 450 int number_of_server_configs_stored_in_properties_; |
451 | 451 |
452 // Set if all sessions should be closed when any local IP address changes. | 452 // Set if all sessions should be closed when any local IP address changes. |
453 const bool close_sessions_on_ip_change_; | 453 const bool close_sessions_on_ip_change_; |
454 | 454 |
455 // Each profile will (probably) have a unique port_seed_ value. This value | 455 // Each profile will (probably) have a unique port_seed_ value. This value |
456 // is used to help seed a pseudo-random number generator (PortSuggester) so | 456 // is used to help seed a pseudo-random number generator (PortSuggester) so |
457 // that we consistently (within this profile) suggest the same ephemeral | 457 // that we consistently (within this profile) suggest the same ephemeral |
458 // port when we re-connect to any given server/port. The differences between | 458 // port when we re-connect to any given server/port. The differences between |
459 // profiles (probablistically) prevent two profiles from colliding in their | 459 // profiles (probablistically) prevent two profiles from colliding in their |
460 // ephemeral port requests. | 460 // ephemeral port requests. |
(...skipping 10 matching lines...) Expand all Loading... |
471 base::TaskRunner* task_runner_; | 471 base::TaskRunner* task_runner_; |
472 | 472 |
473 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; | 473 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; |
474 | 474 |
475 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); | 475 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); |
476 }; | 476 }; |
477 | 477 |
478 } // namespace net | 478 } // namespace net |
479 | 479 |
480 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_ | 480 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_ |
OLD | NEW |