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 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
322 NextProtoVector next_protos_; | 331 NextProtoVector next_protos_; |
323 | 332 |
324 Params params_; | 333 Params params_; |
325 | 334 |
326 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; | 335 std::unique_ptr<base::MemoryPressureListener> memory_pressure_listener_; |
327 }; | 336 }; |
328 | 337 |
329 } // namespace net | 338 } // namespace net |
330 | 339 |
331 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ | 340 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |
OLD | NEW |