Index: net/http/http_network_session.h |
diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h |
deleted file mode 100644 |
index 3216c6cb3a92f2cb31eebe54e4dca5fce230ab81..0000000000000000000000000000000000000000 |
--- a/net/http/http_network_session.h |
+++ /dev/null |
@@ -1,257 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef NET_HTTP_HTTP_NETWORK_SESSION_H_ |
-#define NET_HTTP_HTTP_NETWORK_SESSION_H_ |
- |
-#include <set> |
-#include <string> |
-#include <vector> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/threading/non_thread_safe.h" |
-#include "net/base/host_port_pair.h" |
-#include "net/base/net_export.h" |
-#include "net/dns/host_resolver.h" |
-#include "net/http/http_auth_cache.h" |
-#include "net/http/http_stream_factory.h" |
-#include "net/quic/quic_stream_factory.h" |
-#include "net/socket/next_proto.h" |
-#include "net/spdy/spdy_session_pool.h" |
-#include "net/ssl/ssl_client_auth_cache.h" |
- |
-namespace base { |
-class Value; |
-} |
- |
-namespace net { |
- |
-class CertPolicyEnforcer; |
-class CertVerifier; |
-class ChannelIDService; |
-class ClientSocketFactory; |
-class ClientSocketPoolManager; |
-class CTVerifier; |
-class HostResolver; |
-class HpackHuffmanAggregator; |
-class HttpAuthHandlerFactory; |
-class HttpNetworkSessionPeer; |
-class HttpProxyClientSocketPool; |
-class HttpResponseBodyDrainer; |
-class HttpServerProperties; |
-class NetLog; |
-class NetworkDelegate; |
-class ProxyDelegate; |
-class ProxyService; |
-class QuicClock; |
-class QuicCryptoClientStreamFactory; |
-class QuicServerInfoFactory; |
-class SOCKSClientSocketPool; |
-class SSLClientSocketPool; |
-class SSLConfigService; |
-class TransportClientSocketPool; |
-class TransportSecurityState; |
- |
-// This class holds session objects used by HttpNetworkTransaction objects. |
-class NET_EXPORT HttpNetworkSession |
- : public base::RefCounted<HttpNetworkSession>, |
- NON_EXPORTED_BASE(public base::NonThreadSafe) { |
- public: |
- struct NET_EXPORT Params { |
- Params(); |
- ~Params(); |
- |
- ClientSocketFactory* client_socket_factory; |
- HostResolver* host_resolver; |
- CertVerifier* cert_verifier; |
- CertPolicyEnforcer* cert_policy_enforcer; |
- ChannelIDService* channel_id_service; |
- TransportSecurityState* transport_security_state; |
- CTVerifier* cert_transparency_verifier; |
- ProxyService* proxy_service; |
- std::string ssl_session_cache_shard; |
- SSLConfigService* ssl_config_service; |
- HttpAuthHandlerFactory* http_auth_handler_factory; |
- NetworkDelegate* network_delegate; |
- base::WeakPtr<HttpServerProperties> http_server_properties; |
- NetLog* net_log; |
- HostMappingRules* host_mapping_rules; |
- bool enable_ssl_connect_job_waiting; |
- bool ignore_certificate_errors; |
- bool use_stale_while_revalidate; |
- uint16 testing_fixed_http_port; |
- uint16 testing_fixed_https_port; |
- bool enable_tcp_fast_open_for_ssl; |
- |
- bool force_spdy_single_domain; |
- bool enable_spdy_compression; |
- bool enable_spdy_ping_based_connection_checking; |
- NextProto spdy_default_protocol; |
- // The protocols supported by NPN (next protocol negotiation) during the |
- // SSL handshake as well as by HTTP Alternate-Protocol. |
- // TODO(mmenke): This is currently empty by default, and alternate |
- // protocols are disabled. We should use some reasonable |
- // defaults. |
- NextProtoVector next_protos; |
- size_t spdy_stream_initial_recv_window_size; |
- size_t spdy_initial_max_concurrent_streams; |
- size_t spdy_max_concurrent_streams_limit; |
- SpdySessionPool::TimeFunc time_func; |
- std::string trusted_spdy_proxy; |
- // Controls whether or not ssl is used when in SPDY mode. |
- bool force_spdy_over_ssl; |
- // Controls whether or not SPDY is used without NPN. |
- bool force_spdy_always; |
- // URLs to exclude from forced SPDY. |
- std::set<HostPortPair> forced_spdy_exclusions; |
- // Noe: Using this in the case of NPN for HTTP only results in the browser |
- // trying SSL and then falling back to http. |
- bool use_alternate_protocols; |
- double alternate_protocol_probability_threshold; |
- |
- bool enable_quic; |
- bool enable_quic_port_selection; |
- bool quic_always_require_handshake_confirmation; |
- bool quic_disable_connection_pooling; |
- int quic_load_server_info_timeout_ms; |
- float quic_load_server_info_timeout_srtt_multiplier; |
- bool quic_enable_truncated_connection_ids; |
- bool quic_enable_connection_racing; |
- HostPortPair origin_to_force_quic_on; |
- QuicClock* quic_clock; // Will be owned by QuicStreamFactory. |
- QuicRandom* quic_random; |
- size_t quic_max_packet_length; |
- std::string quic_user_agent_id; |
- bool enable_user_alternate_protocol_ports; |
- QuicCryptoClientStreamFactory* quic_crypto_client_stream_factory; |
- QuicVersionVector quic_supported_versions; |
- QuicTagVector quic_connection_options; |
- ProxyDelegate* proxy_delegate; |
- }; |
- |
- enum SocketPoolType { |
- NORMAL_SOCKET_POOL, |
- WEBSOCKET_SOCKET_POOL, |
- NUM_SOCKET_POOL_TYPES |
- }; |
- |
- explicit HttpNetworkSession(const Params& params); |
- |
- HttpAuthCache* http_auth_cache() { return &http_auth_cache_; } |
- SSLClientAuthCache* ssl_client_auth_cache() { |
- return &ssl_client_auth_cache_; |
- } |
- |
- void AddResponseDrainer(HttpResponseBodyDrainer* drainer); |
- |
- void RemoveResponseDrainer(HttpResponseBodyDrainer* drainer); |
- |
- TransportClientSocketPool* GetTransportSocketPool(SocketPoolType pool_type); |
- SSLClientSocketPool* GetSSLSocketPool(SocketPoolType pool_type); |
- SOCKSClientSocketPool* GetSocketPoolForSOCKSProxy( |
- SocketPoolType pool_type, |
- const HostPortPair& socks_proxy); |
- HttpProxyClientSocketPool* GetSocketPoolForHTTPProxy( |
- SocketPoolType pool_type, |
- const HostPortPair& http_proxy); |
- SSLClientSocketPool* GetSocketPoolForSSLWithProxy( |
- SocketPoolType pool_type, |
- const HostPortPair& proxy_server); |
- |
- CertVerifier* cert_verifier() { return cert_verifier_; } |
- ProxyService* proxy_service() { return proxy_service_; } |
- SSLConfigService* ssl_config_service() { return ssl_config_service_.get(); } |
- SpdySessionPool* spdy_session_pool() { return &spdy_session_pool_; } |
- QuicStreamFactory* quic_stream_factory() { return &quic_stream_factory_; } |
- HttpAuthHandlerFactory* http_auth_handler_factory() { |
- return http_auth_handler_factory_; |
- } |
- NetworkDelegate* network_delegate() { |
- return network_delegate_; |
- } |
- base::WeakPtr<HttpServerProperties> http_server_properties() { |
- return http_server_properties_; |
- } |
- HttpStreamFactory* http_stream_factory() { |
- return http_stream_factory_.get(); |
- } |
- HttpStreamFactory* http_stream_factory_for_websocket() { |
- return http_stream_factory_for_websocket_.get(); |
- } |
- NetLog* net_log() { |
- return net_log_; |
- } |
- HpackHuffmanAggregator* huffman_aggregator() { |
- return huffman_aggregator_.get(); |
- } |
- |
- // Creates a Value summary of the state of the socket pools. The caller is |
- // responsible for deleting the returned value. |
- base::Value* SocketPoolInfoToValue() const; |
- |
- // Creates a Value summary of the state of the SPDY sessions. The caller is |
- // responsible for deleting the returned value. |
- base::Value* SpdySessionPoolInfoToValue() const; |
- |
- // Creates a Value summary of the state of the QUIC sessions and |
- // configuration. The caller is responsible for deleting the returned value. |
- base::Value* QuicInfoToValue() const; |
- |
- void CloseAllConnections(); |
- void CloseIdleConnections(); |
- |
- // Returns the original Params used to construct this session. |
- const Params& params() const { return params_; } |
- |
- bool IsProtocolEnabled(AlternateProtocol protocol) const; |
- |
- // Populates |*next_protos| with protocols. |
- void GetNextProtos(NextProtoVector* next_protos) const; |
- |
- // Convenience function for searching through |params_| for |
- // |forced_spdy_exclusions|. |
- bool HasSpdyExclusion(HostPortPair host_port_pair) const; |
- |
- private: |
- friend class base::RefCounted<HttpNetworkSession>; |
- friend class HttpNetworkSessionPeer; |
- |
- ~HttpNetworkSession(); |
- |
- ClientSocketPoolManager* GetSocketPoolManager(SocketPoolType pool_type); |
- |
- NetLog* const net_log_; |
- NetworkDelegate* const network_delegate_; |
- const base::WeakPtr<HttpServerProperties> http_server_properties_; |
- CertVerifier* const cert_verifier_; |
- HttpAuthHandlerFactory* const http_auth_handler_factory_; |
- |
- // Not const since it's modified by HttpNetworkSessionPeer for testing. |
- ProxyService* proxy_service_; |
- const scoped_refptr<SSLConfigService> ssl_config_service_; |
- |
- HttpAuthCache http_auth_cache_; |
- SSLClientAuthCache ssl_client_auth_cache_; |
- scoped_ptr<ClientSocketPoolManager> normal_socket_pool_manager_; |
- scoped_ptr<ClientSocketPoolManager> websocket_socket_pool_manager_; |
- QuicStreamFactory quic_stream_factory_; |
- SpdySessionPool spdy_session_pool_; |
- scoped_ptr<HttpStreamFactory> http_stream_factory_; |
- scoped_ptr<HttpStreamFactory> http_stream_factory_for_websocket_; |
- std::set<HttpResponseBodyDrainer*> response_drainers_; |
- |
- // TODO(jgraettinger): Remove when Huffman collection is complete. |
- scoped_ptr<HpackHuffmanAggregator> huffman_aggregator_; |
- |
- NextProtoVector next_protos_; |
- bool enabled_protocols_[NUM_VALID_ALTERNATE_PROTOCOLS]; |
- |
- Params params_; |
-}; |
- |
-} // namespace net |
- |
-#endif // NET_HTTP_HTTP_NETWORK_SESSION_H_ |