| 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_HTTP_HTTP_NETWORK_SESSION_H_ | 5 #ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ |
| 6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ | 6 #define NET_HTTP_HTTP_NETWORK_SESSION_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "base/memory/ref_counted.h" | 21 #include "base/memory/ref_counted.h" |
| 22 #include "base/memory/weak_ptr.h" | 22 #include "base/memory/weak_ptr.h" |
| 23 #include "base/threading/non_thread_safe.h" | 23 #include "base/threading/non_thread_safe.h" |
| 24 #include "net/base/host_port_pair.h" | 24 #include "net/base/host_port_pair.h" |
| 25 #include "net/base/net_export.h" | 25 #include "net/base/net_export.h" |
| 26 #include "net/dns/host_resolver.h" | 26 #include "net/dns/host_resolver.h" |
| 27 #include "net/http/http_auth_cache.h" | 27 #include "net/http/http_auth_cache.h" |
| 28 #include "net/http/http_stream_factory.h" | 28 #include "net/http/http_stream_factory.h" |
| 29 #include "net/quic/chromium/quic_stream_factory.h" | 29 #include "net/quic/chromium/quic_stream_factory.h" |
| 30 #include "net/socket/next_proto.h" | 30 #include "net/socket/next_proto.h" |
| 31 #include "net/spdy/spdy_protocol.h" |
| 31 #include "net/spdy/spdy_session_pool.h" | 32 #include "net/spdy/spdy_session_pool.h" |
| 32 #include "net/ssl/ssl_client_auth_cache.h" | 33 #include "net/ssl/ssl_client_auth_cache.h" |
| 33 | 34 |
| 34 namespace base { | 35 namespace base { |
| 35 class Value; | 36 class Value; |
| 36 namespace trace_event { | 37 namespace trace_event { |
| 37 class ProcessMemoryDump; | 38 class ProcessMemoryDump; |
| 38 } | 39 } |
| 39 } | 40 } |
| 40 | 41 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 58 class ProxyService; | 59 class ProxyService; |
| 59 class QuicClock; | 60 class QuicClock; |
| 60 class QuicCryptoClientStreamFactory; | 61 class QuicCryptoClientStreamFactory; |
| 61 class SocketPerformanceWatcherFactory; | 62 class SocketPerformanceWatcherFactory; |
| 62 class SOCKSClientSocketPool; | 63 class SOCKSClientSocketPool; |
| 63 class SSLClientSocketPool; | 64 class SSLClientSocketPool; |
| 64 class SSLConfigService; | 65 class SSLConfigService; |
| 65 class TransportClientSocketPool; | 66 class TransportClientSocketPool; |
| 66 class TransportSecurityState; | 67 class TransportSecurityState; |
| 67 | 68 |
| 69 // Specifies the maximum HPACK dynamic table size the server is allowed to set. |
| 70 const uint32_t kSpdyMaxHeaderTableSize = 64 * 1024; |
| 71 |
| 72 // Specifies the maximum concurrent streams server could send (via push). |
| 73 const uint32_t kSpdyMaxConcurrentPushedStreams = 1000; |
| 74 |
| 68 // This class holds session objects used by HttpNetworkTransaction objects. | 75 // This class holds session objects used by HttpNetworkTransaction objects. |
| 69 class NET_EXPORT HttpNetworkSession | 76 class NET_EXPORT HttpNetworkSession |
| 70 : NON_EXPORTED_BASE(public base::NonThreadSafe), | 77 : NON_EXPORTED_BASE(public base::NonThreadSafe), |
| 71 public base::MemoryCoordinatorClient { | 78 public base::MemoryCoordinatorClient { |
| 72 public: | 79 public: |
| 73 struct NET_EXPORT Params { | 80 struct NET_EXPORT Params { |
| 74 Params(); | 81 Params(); |
| 75 Params(const Params& other); | 82 Params(const Params& other); |
| 76 ~Params(); | 83 ~Params(); |
| 77 | 84 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 91 SocketPerformanceWatcherFactory* socket_performance_watcher_factory; | 98 SocketPerformanceWatcherFactory* socket_performance_watcher_factory; |
| 92 bool ignore_certificate_errors; | 99 bool ignore_certificate_errors; |
| 93 uint16_t testing_fixed_http_port; | 100 uint16_t testing_fixed_http_port; |
| 94 uint16_t testing_fixed_https_port; | 101 uint16_t testing_fixed_https_port; |
| 95 bool enable_tcp_fast_open_for_ssl; | 102 bool enable_tcp_fast_open_for_ssl; |
| 96 | 103 |
| 97 // Use SPDY ping frames to test for connection health after idle. | 104 // Use SPDY ping frames to test for connection health after idle. |
| 98 bool enable_spdy_ping_based_connection_checking; | 105 bool enable_spdy_ping_based_connection_checking; |
| 99 bool enable_http2; | 106 bool enable_http2; |
| 100 size_t spdy_session_max_recv_window_size; | 107 size_t spdy_session_max_recv_window_size; |
| 101 size_t spdy_stream_max_recv_window_size; | 108 // HTTP/2 connection settings. |
| 109 // Unknown settings will still be sent to the server. |
| 110 SettingsMap http2_settings; |
| 102 // Source of time for SPDY connections. | 111 // Source of time for SPDY connections. |
| 103 SpdySessionPool::TimeFunc time_func; | 112 SpdySessionPool::TimeFunc time_func; |
| 104 // Whether to enable HTTP/2 Alt-Svc entries with hostname different than | 113 // Whether to enable HTTP/2 Alt-Svc entries with hostname different than |
| 105 // that of the origin. | 114 // that of the origin. |
| 106 bool enable_http2_alternative_service_with_different_host; | 115 bool enable_http2_alternative_service_with_different_host; |
| 107 // Whether to enable QUIC Alt-Svc entries with hostname different than that | 116 // Whether to enable QUIC Alt-Svc entries with hostname different than that |
| 108 // of the origin. | 117 // of the origin. |
| 109 bool enable_quic_alternative_service_with_different_host; | 118 bool enable_quic_alternative_service_with_different_host; |
| 110 | 119 |
| 111 // Enables QUIC support. | 120 // Enables QUIC support. |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 290 | 299 |
| 291 ClientSocketPoolManager* GetSocketPoolManager(SocketPoolType pool_type); | 300 ClientSocketPoolManager* GetSocketPoolManager(SocketPoolType pool_type); |
| 292 | 301 |
| 293 // Flush sockets on low memory notifications callback. | 302 // Flush sockets on low memory notifications callback. |
| 294 void OnMemoryPressure( | 303 void OnMemoryPressure( |
| 295 base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level); | 304 base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level); |
| 296 | 305 |
| 297 // base::MemoryCoordinatorClient implementation: | 306 // base::MemoryCoordinatorClient implementation: |
| 298 void OnMemoryStateChange(base::MemoryState state) override; | 307 void OnMemoryStateChange(base::MemoryState state) override; |
| 299 | 308 |
| 309 // Keep all HTTP2 parameters in |http2_settings|, even the ones that are not |
| 310 // implemented, to be sent to the server. |
| 311 // Set default values for settings that |http2_settings| does not specify. |
| 312 SettingsMap AddDefaultHttp2Settings(SettingsMap http2_settings); |
| 313 |
| 300 NetLog* const net_log_; | 314 NetLog* const net_log_; |
| 301 HttpServerProperties* const http_server_properties_; | 315 HttpServerProperties* const http_server_properties_; |
| 302 CertVerifier* const cert_verifier_; | 316 CertVerifier* const cert_verifier_; |
| 303 HttpAuthHandlerFactory* const http_auth_handler_factory_; | 317 HttpAuthHandlerFactory* const http_auth_handler_factory_; |
| 304 | 318 |
| 305 // Not const since it's modified by HttpNetworkSessionPeer for testing. | 319 // Not const since it's modified by HttpNetworkSessionPeer for testing. |
| 306 ProxyService* proxy_service_; | 320 ProxyService* proxy_service_; |
| 307 const scoped_refptr<SSLConfigService> ssl_config_service_; | 321 const scoped_refptr<SSLConfigService> ssl_config_service_; |
| 308 | 322 |
| 309 HttpAuthCache http_auth_cache_; | 323 HttpAuthCache http_auth_cache_; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 322 NextProtoVector next_protos_; | 336 NextProtoVector next_protos_; |
| 323 | 337 |
| 324 Params params_; | 338 Params params_; |
| 325 | 339 |
| 326 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; | 340 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; |
| 327 }; | 341 }; |
| 328 | 342 |
| 329 } // namespace net | 343 } // namespace net |
| 330 | 344 |
| 331 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ | 345 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |
| OLD | NEW |