| 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 <set> | 8 #include <set> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 TransportSecurityState* transport_security_state; | 69 TransportSecurityState* transport_security_state; |
| 70 CTVerifier* cert_transparency_verifier; | 70 CTVerifier* cert_transparency_verifier; |
| 71 ProxyService* proxy_service; | 71 ProxyService* proxy_service; |
| 72 std::string ssl_session_cache_shard; | 72 std::string ssl_session_cache_shard; |
| 73 SSLConfigService* ssl_config_service; | 73 SSLConfigService* ssl_config_service; |
| 74 HttpAuthHandlerFactory* http_auth_handler_factory; | 74 HttpAuthHandlerFactory* http_auth_handler_factory; |
| 75 NetworkDelegate* network_delegate; | 75 NetworkDelegate* network_delegate; |
| 76 base::WeakPtr<HttpServerProperties> http_server_properties; | 76 base::WeakPtr<HttpServerProperties> http_server_properties; |
| 77 NetLog* net_log; | 77 NetLog* net_log; |
| 78 HostMappingRules* host_mapping_rules; | 78 HostMappingRules* host_mapping_rules; |
| 79 bool force_http_pipelining; | |
| 80 bool ignore_certificate_errors; | 79 bool ignore_certificate_errors; |
| 81 bool http_pipelining_enabled; | |
| 82 uint16 testing_fixed_http_port; | 80 uint16 testing_fixed_http_port; |
| 83 uint16 testing_fixed_https_port; | 81 uint16 testing_fixed_https_port; |
| 84 | 82 |
| 85 bool force_spdy_single_domain; | 83 bool force_spdy_single_domain; |
| 86 bool enable_spdy_compression; | 84 bool enable_spdy_compression; |
| 87 bool enable_spdy_ping_based_connection_checking; | 85 bool enable_spdy_ping_based_connection_checking; |
| 88 NextProto spdy_default_protocol; | 86 NextProto spdy_default_protocol; |
| 89 // The protocols supported by NPN (next protocol negotiation) during the | 87 // The protocols supported by NPN (next protocol negotiation) during the |
| 90 // SSL handshake as well as by HTTP Alternate-Protocol. | 88 // SSL handshake as well as by HTTP Alternate-Protocol. |
| 91 // TODO(mmenke): This is currently empty by default, and alternate | 89 // TODO(mmenke): This is currently empty by default, and alternate |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 // responsible for deleting the returned value. | 184 // responsible for deleting the returned value. |
| 187 base::Value* SpdySessionPoolInfoToValue() const; | 185 base::Value* SpdySessionPoolInfoToValue() const; |
| 188 | 186 |
| 189 // Creates a Value summary of the state of the QUIC sessions and | 187 // Creates a Value summary of the state of the QUIC sessions and |
| 190 // configuration. The caller is responsible for deleting the returned value. | 188 // configuration. The caller is responsible for deleting the returned value. |
| 191 base::Value* QuicInfoToValue() const; | 189 base::Value* QuicInfoToValue() const; |
| 192 | 190 |
| 193 void CloseAllConnections(); | 191 void CloseAllConnections(); |
| 194 void CloseIdleConnections(); | 192 void CloseIdleConnections(); |
| 195 | 193 |
| 196 bool force_http_pipelining() const { return force_http_pipelining_; } | |
| 197 | |
| 198 // Returns the original Params used to construct this session. | 194 // Returns the original Params used to construct this session. |
| 199 const Params& params() const { return params_; } | 195 const Params& params() const { return params_; } |
| 200 | 196 |
| 201 void set_http_pipelining_enabled(bool enable) { | |
| 202 params_.http_pipelining_enabled = enable; | |
| 203 } | |
| 204 | |
| 205 bool IsProtocolEnabled(AlternateProtocol protocol) const; | 197 bool IsProtocolEnabled(AlternateProtocol protocol) const; |
| 206 | 198 |
| 207 void GetNextProtos(std::vector<std::string>* next_protos) const; | 199 void GetNextProtos(std::vector<std::string>* next_protos) const; |
| 208 | 200 |
| 209 // Convenience function for searching through |params_| for | 201 // Convenience function for searching through |params_| for |
| 210 // |forced_spdy_exclusions|. | 202 // |forced_spdy_exclusions|. |
| 211 bool HasSpdyExclusion(HostPortPair host_port_pair) const; | 203 bool HasSpdyExclusion(HostPortPair host_port_pair) const; |
| 212 | 204 |
| 213 private: | 205 private: |
| 214 friend class base::RefCounted<HttpNetworkSession>; | 206 friend class base::RefCounted<HttpNetworkSession>; |
| 215 friend class HttpNetworkSessionPeer; | 207 friend class HttpNetworkSessionPeer; |
| 216 | 208 |
| 217 ~HttpNetworkSession(); | 209 ~HttpNetworkSession(); |
| 218 | 210 |
| 219 ClientSocketPoolManager* GetSocketPoolManager(SocketPoolType pool_type); | 211 ClientSocketPoolManager* GetSocketPoolManager(SocketPoolType pool_type); |
| 220 | 212 |
| 221 NetLog* const net_log_; | 213 NetLog* const net_log_; |
| 222 NetworkDelegate* const network_delegate_; | 214 NetworkDelegate* const network_delegate_; |
| 223 const base::WeakPtr<HttpServerProperties> http_server_properties_; | 215 const base::WeakPtr<HttpServerProperties> http_server_properties_; |
| 224 CertVerifier* const cert_verifier_; | 216 CertVerifier* const cert_verifier_; |
| 225 HttpAuthHandlerFactory* const http_auth_handler_factory_; | 217 HttpAuthHandlerFactory* const http_auth_handler_factory_; |
| 226 bool force_http_pipelining_; | |
| 227 | 218 |
| 228 // Not const since it's modified by HttpNetworkSessionPeer for testing. | 219 // Not const since it's modified by HttpNetworkSessionPeer for testing. |
| 229 ProxyService* proxy_service_; | 220 ProxyService* proxy_service_; |
| 230 const scoped_refptr<SSLConfigService> ssl_config_service_; | 221 const scoped_refptr<SSLConfigService> ssl_config_service_; |
| 231 | 222 |
| 232 HttpAuthCache http_auth_cache_; | 223 HttpAuthCache http_auth_cache_; |
| 233 SSLClientAuthCache ssl_client_auth_cache_; | 224 SSLClientAuthCache ssl_client_auth_cache_; |
| 234 scoped_ptr<ClientSocketPoolManager> normal_socket_pool_manager_; | 225 scoped_ptr<ClientSocketPoolManager> normal_socket_pool_manager_; |
| 235 scoped_ptr<ClientSocketPoolManager> websocket_socket_pool_manager_; | 226 scoped_ptr<ClientSocketPoolManager> websocket_socket_pool_manager_; |
| 236 QuicStreamFactory quic_stream_factory_; | 227 QuicStreamFactory quic_stream_factory_; |
| 237 SpdySessionPool spdy_session_pool_; | 228 SpdySessionPool spdy_session_pool_; |
| 238 scoped_ptr<HttpStreamFactory> http_stream_factory_; | 229 scoped_ptr<HttpStreamFactory> http_stream_factory_; |
| 239 scoped_ptr<HttpStreamFactory> http_stream_factory_for_websocket_; | 230 scoped_ptr<HttpStreamFactory> http_stream_factory_for_websocket_; |
| 240 std::set<HttpResponseBodyDrainer*> response_drainers_; | 231 std::set<HttpResponseBodyDrainer*> response_drainers_; |
| 241 | 232 |
| 242 // TODO(jgraettinger): Remove when Huffman collection is complete. | 233 // TODO(jgraettinger): Remove when Huffman collection is complete. |
| 243 scoped_ptr<HpackHuffmanAggregator> huffman_aggregator_; | 234 scoped_ptr<HpackHuffmanAggregator> huffman_aggregator_; |
| 244 | 235 |
| 245 std::vector<std::string> next_protos_; | 236 std::vector<std::string> next_protos_; |
| 246 bool enabled_protocols_[NUM_VALID_ALTERNATE_PROTOCOLS]; | 237 bool enabled_protocols_[NUM_VALID_ALTERNATE_PROTOCOLS]; |
| 247 | 238 |
| 248 Params params_; | 239 Params params_; |
| 249 }; | 240 }; |
| 250 | 241 |
| 251 } // namespace net | 242 } // namespace net |
| 252 | 243 |
| 253 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ | 244 #endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |
| OLD | NEW |