| 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_
|
|
|