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 <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <string> | 10 #include <string> |
(...skipping 26 matching lines...) Expand all Loading... |
37 class HostResolver; | 37 class HostResolver; |
38 class HttpServerProperties; | 38 class HttpServerProperties; |
39 class QuicClock; | 39 class QuicClock; |
40 class QuicChromiumClientSession; | 40 class QuicChromiumClientSession; |
41 class QuicConnectionHelper; | 41 class QuicConnectionHelper; |
42 class QuicCryptoClientStreamFactory; | 42 class QuicCryptoClientStreamFactory; |
43 class QuicRandom; | 43 class QuicRandom; |
44 class QuicServerInfoFactory; | 44 class QuicServerInfoFactory; |
45 class QuicServerId; | 45 class QuicServerId; |
46 class QuicStreamFactory; | 46 class QuicStreamFactory; |
| 47 class SocketPerformanceWatcherFactory; |
47 class TransportSecurityState; | 48 class TransportSecurityState; |
48 | 49 |
49 namespace test { | 50 namespace test { |
50 class QuicStreamFactoryPeer; | 51 class QuicStreamFactoryPeer; |
51 } // namespace test | 52 } // namespace test |
52 | 53 |
53 // Encapsulates a pending request for a QuicHttpStream. | 54 // Encapsulates a pending request for a QuicHttpStream. |
54 // If the request is still pending when it is destroyed, it will | 55 // If the request is still pending when it is destroyed, it will |
55 // cancel the request with the factory. | 56 // cancel the request with the factory. |
56 class NET_EXPORT_PRIVATE QuicStreamRequest { | 57 class NET_EXPORT_PRIVATE QuicStreamRequest { |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
109 public CertDatabase::Observer { | 110 public CertDatabase::Observer { |
110 public: | 111 public: |
111 QuicStreamFactory( | 112 QuicStreamFactory( |
112 HostResolver* host_resolver, | 113 HostResolver* host_resolver, |
113 ClientSocketFactory* client_socket_factory, | 114 ClientSocketFactory* client_socket_factory, |
114 base::WeakPtr<HttpServerProperties> http_server_properties, | 115 base::WeakPtr<HttpServerProperties> http_server_properties, |
115 CertVerifier* cert_verifier, | 116 CertVerifier* cert_verifier, |
116 CertPolicyEnforcer* cert_policy_enforcer, | 117 CertPolicyEnforcer* cert_policy_enforcer, |
117 ChannelIDService* channel_id_service, | 118 ChannelIDService* channel_id_service, |
118 TransportSecurityState* transport_security_state, | 119 TransportSecurityState* transport_security_state, |
| 120 const SocketPerformanceWatcherFactory* socket_performance_watcher_factory, |
119 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory, | 121 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory, |
120 QuicRandom* random_generator, | 122 QuicRandom* random_generator, |
121 QuicClock* clock, | 123 QuicClock* clock, |
122 size_t max_packet_length, | 124 size_t max_packet_length, |
123 const std::string& user_agent_id, | 125 const std::string& user_agent_id, |
124 const QuicVersionVector& supported_versions, | 126 const QuicVersionVector& supported_versions, |
125 bool enable_port_selection, | 127 bool enable_port_selection, |
126 bool always_require_handshake_confirmation, | 128 bool always_require_handshake_confirmation, |
127 bool disable_connection_pooling, | 129 bool disable_connection_pooling, |
128 float load_server_info_timeout_srtt_multiplier, | 130 float load_server_info_timeout_srtt_multiplier, |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 HostResolver* host_resolver_; | 339 HostResolver* host_resolver_; |
338 ClientSocketFactory* client_socket_factory_; | 340 ClientSocketFactory* client_socket_factory_; |
339 base::WeakPtr<HttpServerProperties> http_server_properties_; | 341 base::WeakPtr<HttpServerProperties> http_server_properties_; |
340 TransportSecurityState* transport_security_state_; | 342 TransportSecurityState* transport_security_state_; |
341 QuicServerInfoFactory* quic_server_info_factory_; | 343 QuicServerInfoFactory* quic_server_info_factory_; |
342 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory_; | 344 QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory_; |
343 QuicRandom* random_generator_; | 345 QuicRandom* random_generator_; |
344 scoped_ptr<QuicClock> clock_; | 346 scoped_ptr<QuicClock> clock_; |
345 const size_t max_packet_length_; | 347 const size_t max_packet_length_; |
346 | 348 |
| 349 // Factory which is used to create socket performance watcher. A new watcher |
| 350 // is created for every QUIC connection. |
| 351 // |socket_performance_watcher_factory_| may be null. |
| 352 const SocketPerformanceWatcherFactory* socket_performance_watcher_factory_; |
| 353 |
347 // The helper used for all connections. | 354 // The helper used for all connections. |
348 scoped_ptr<QuicConnectionHelper> helper_; | 355 scoped_ptr<QuicConnectionHelper> helper_; |
349 | 356 |
350 // Contains owning pointers to all sessions that currently exist. | 357 // Contains owning pointers to all sessions that currently exist. |
351 SessionIdMap all_sessions_; | 358 SessionIdMap all_sessions_; |
352 // Contains non-owning pointers to currently active session | 359 // Contains non-owning pointers to currently active session |
353 // (not going away session, once they're implemented). | 360 // (not going away session, once they're implemented). |
354 SessionMap active_sessions_; | 361 SessionMap active_sessions_; |
355 // Map from session to set of aliases that this session is known by. | 362 // Map from session to set of aliases that this session is known by. |
356 SessionAliasMap session_aliases_; | 363 SessionAliasMap session_aliases_; |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
450 base::TaskRunner* task_runner_; | 457 base::TaskRunner* task_runner_; |
451 | 458 |
452 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; | 459 base::WeakPtrFactory<QuicStreamFactory> weak_factory_; |
453 | 460 |
454 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); | 461 DISALLOW_COPY_AND_ASSIGN(QuicStreamFactory); |
455 }; | 462 }; |
456 | 463 |
457 } // namespace net | 464 } // namespace net |
458 | 465 |
459 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_ | 466 #endif // NET_QUIC_QUIC_STREAM_FACTORY_H_ |
OLD | NEW |