Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: net/socket/client_socket_pool_manager.h

Issue 3846005: Revert 62918 - net: clean up SSLHostInfo construction.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // ClientSocketPoolManager manages access to all ClientSocketPools. It's a 5 // ClientSocketPoolManager manages access to all ClientSocketPools. It's a
6 // simple container for all of them. Most importantly, it handles the lifetime 6 // simple container for all of them. Most importantly, it handles the lifetime
7 // and destruction order properly. 7 // and destruction order properly.
8 8
9 #ifndef NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_ 9 #ifndef NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_
10 #define NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_ 10 #define NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_
(...skipping 16 matching lines...) Expand all
27 class ClientSocketPoolHistograms; 27 class ClientSocketPoolHistograms;
28 class DnsRRResolver; 28 class DnsRRResolver;
29 class HostPortPair; 29 class HostPortPair;
30 class HttpProxyClientSocketPool; 30 class HttpProxyClientSocketPool;
31 class HostResolver; 31 class HostResolver;
32 class NetLog; 32 class NetLog;
33 class ProxyService; 33 class ProxyService;
34 class SOCKSClientSocketPool; 34 class SOCKSClientSocketPool;
35 class SSLClientSocketPool; 35 class SSLClientSocketPool;
36 class SSLConfigService; 36 class SSLConfigService;
37 class SSLHostInfoFactory;
38 class TCPClientSocketPool; 37 class TCPClientSocketPool;
39 38
40 namespace internal { 39 namespace internal {
41 40
42 // A helper class for auto-deleting Values in the destructor. 41 // A helper class for auto-deleting Values in the destructor.
43 template <typename Key, typename Value> 42 template <typename Key, typename Value>
44 class OwnedPoolMap : public std::map<Key, Value> { 43 class OwnedPoolMap : public std::map<Key, Value> {
45 public: 44 public:
46 OwnedPoolMap() { 45 OwnedPoolMap() {
47 COMPILE_ASSERT(base::is_pointer<Value>::value, 46 COMPILE_ASSERT(base::is_pointer<Value>::value,
48 value_must_be_a_pointer); 47 value_must_be_a_pointer);
49 } 48 }
50 49
51 ~OwnedPoolMap() { 50 ~OwnedPoolMap() {
52 STLDeleteValues(this); 51 STLDeleteValues(this);
53 } 52 }
54 }; 53 };
55 54
56 } // internal 55 } // internal
57 56
58 class ClientSocketPoolManager : public NonThreadSafe { 57 class ClientSocketPoolManager : public NonThreadSafe {
59 public: 58 public:
60 ClientSocketPoolManager(NetLog* net_log, 59 ClientSocketPoolManager(NetLog* net_log,
61 ClientSocketFactory* socket_factory, 60 ClientSocketFactory* socket_factory,
62 HostResolver* host_resolver, 61 HostResolver* host_resolver,
63 DnsRRResolver* dnsrr_resolver, 62 DnsRRResolver* dnsrr_resolver,
64 SSLHostInfoFactory* ssl_host_info_factory,
65 ProxyService* proxy_service, 63 ProxyService* proxy_service,
66 SSLConfigService* ssl_config_service); 64 SSLConfigService* ssl_config_service);
67 ~ClientSocketPoolManager(); 65 ~ClientSocketPoolManager();
68 66
69 void FlushSocketPools(); 67 void FlushSocketPools();
70 68
71 TCPClientSocketPool* tcp_socket_pool() { return tcp_socket_pool_.get(); } 69 TCPClientSocketPool* tcp_socket_pool() { return tcp_socket_pool_.get(); }
72 70
73 SSLClientSocketPool* ssl_socket_pool() { return ssl_socket_pool_.get(); } 71 SSLClientSocketPool* ssl_socket_pool() { return ssl_socket_pool_.get(); }
74 72
(...skipping 22 matching lines...) Expand all
97 typedef internal::OwnedPoolMap<HostPortPair, SOCKSClientSocketPool*> 95 typedef internal::OwnedPoolMap<HostPortPair, SOCKSClientSocketPool*>
98 SOCKSSocketPoolMap; 96 SOCKSSocketPoolMap;
99 typedef internal::OwnedPoolMap<HostPortPair, HttpProxyClientSocketPool*> 97 typedef internal::OwnedPoolMap<HostPortPair, HttpProxyClientSocketPool*>
100 HTTPProxySocketPoolMap; 98 HTTPProxySocketPoolMap;
101 typedef internal::OwnedPoolMap<HostPortPair, SSLClientSocketPool*> 99 typedef internal::OwnedPoolMap<HostPortPair, SSLClientSocketPool*>
102 SSLSocketPoolMap; 100 SSLSocketPoolMap;
103 101
104 NetLog* const net_log_; 102 NetLog* const net_log_;
105 ClientSocketFactory* const socket_factory_; 103 ClientSocketFactory* const socket_factory_;
106 HostResolver* const host_resolver_; 104 HostResolver* const host_resolver_;
107 DnsRRResolver* const dnsrr_resolver_; 105 DnsRRResolver* dnsrr_resolver_;
108 SSLHostInfoFactory* const ssl_host_info_factory_;
109 const scoped_refptr<ProxyService> proxy_service_; 106 const scoped_refptr<ProxyService> proxy_service_;
110 const scoped_refptr<SSLConfigService> ssl_config_service_; 107 const scoped_refptr<SSLConfigService> ssl_config_service_;
111 108
112 // Note: this ordering is important. 109 // Note: this ordering is important.
113 110
114 ClientSocketPoolHistograms tcp_pool_histograms_; 111 ClientSocketPoolHistograms tcp_pool_histograms_;
115 scoped_ptr<TCPClientSocketPool> tcp_socket_pool_; 112 scoped_ptr<TCPClientSocketPool> tcp_socket_pool_;
116 113
117 ClientSocketPoolHistograms ssl_pool_histograms_; 114 ClientSocketPoolHistograms ssl_pool_histograms_;
118 scoped_ptr<SSLClientSocketPool> ssl_socket_pool_; 115 scoped_ptr<SSLClientSocketPool> ssl_socket_pool_;
(...skipping 18 matching lines...) Expand all
137 134
138 ClientSocketPoolHistograms ssl_socket_pool_for_proxies_histograms_; 135 ClientSocketPoolHistograms ssl_socket_pool_for_proxies_histograms_;
139 SSLSocketPoolMap ssl_socket_pools_for_proxies_; 136 SSLSocketPoolMap ssl_socket_pools_for_proxies_;
140 137
141 DISALLOW_COPY_AND_ASSIGN(ClientSocketPoolManager); 138 DISALLOW_COPY_AND_ASSIGN(ClientSocketPoolManager);
142 }; 139 };
143 140
144 } // namespace net 141 } // namespace net
145 142
146 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_ 143 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_
OLDNEW
« no previous file with comments | « net/socket/client_socket_pool_base_unittest.cc ('k') | net/socket/client_socket_pool_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698