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

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

Issue 3533013: net: plumb DnsRRResolver from IOThread to HttpNetworkSession. (Closed)
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
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 #include "net/socket/client_socket_pool_manager.h" 9 #include "net/socket/client_socket_pool_manager.h"
10 10
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 include_nested_pools)); 49 include_nested_pools));
50 } 50 }
51 } 51 }
52 52
53 } // namespace 53 } // namespace
54 54
55 ClientSocketPoolManager::ClientSocketPoolManager( 55 ClientSocketPoolManager::ClientSocketPoolManager(
56 NetLog* net_log, 56 NetLog* net_log,
57 ClientSocketFactory* socket_factory, 57 ClientSocketFactory* socket_factory,
58 HostResolver* host_resolver, 58 HostResolver* host_resolver,
59 DnsRRResolver* dnsrr_resolver,
59 ProxyService* proxy_service, 60 ProxyService* proxy_service,
60 SSLConfigService* ssl_config_service) 61 SSLConfigService* ssl_config_service)
61 : net_log_(net_log), 62 : net_log_(net_log),
62 socket_factory_(socket_factory), 63 socket_factory_(socket_factory),
63 host_resolver_(host_resolver), 64 host_resolver_(host_resolver),
65 dnsrr_resolver_(dnsrr_resolver),
64 proxy_service_(proxy_service), 66 proxy_service_(proxy_service),
65 ssl_config_service_(ssl_config_service), 67 ssl_config_service_(ssl_config_service),
66 tcp_pool_histograms_("TCP"), 68 tcp_pool_histograms_("TCP"),
67 tcp_socket_pool_(new TCPClientSocketPool( 69 tcp_socket_pool_(new TCPClientSocketPool(
68 g_max_sockets, g_max_sockets_per_group, 70 g_max_sockets, g_max_sockets_per_group,
69 &tcp_pool_histograms_, 71 &tcp_pool_histograms_,
70 host_resolver, 72 host_resolver,
71 socket_factory_, 73 socket_factory_,
72 net_log)), 74 net_log)),
73 ssl_pool_histograms_("SSL2"), 75 ssl_pool_histograms_("SSL2"),
74 ssl_socket_pool_(new SSLClientSocketPool( 76 ssl_socket_pool_(new SSLClientSocketPool(
75 g_max_sockets, g_max_sockets_per_group, 77 g_max_sockets, g_max_sockets_per_group,
76 &ssl_pool_histograms_, 78 &ssl_pool_histograms_,
77 host_resolver, 79 host_resolver,
80 dnsrr_resolver,
78 socket_factory, 81 socket_factory,
79 tcp_socket_pool_.get(), 82 tcp_socket_pool_.get(),
80 NULL /* no socks proxy */, 83 NULL /* no socks proxy */,
81 NULL /* no http proxy */, 84 NULL /* no http proxy */,
82 ssl_config_service, 85 ssl_config_service,
83 net_log)), 86 net_log)),
84 tcp_for_socks_pool_histograms_("TCPforSOCKS"), 87 tcp_for_socks_pool_histograms_("TCPforSOCKS"),
85 socks_pool_histograms_("SOCK"), 88 socks_pool_histograms_("SOCK"),
86 tcp_for_http_proxy_pool_histograms_("TCPforHTTPProxy"), 89 tcp_for_http_proxy_pool_histograms_("TCPforHTTPProxy"),
87 tcp_for_https_proxy_pool_histograms_("TCPforHTTPSProxy"), 90 tcp_for_https_proxy_pool_histograms_("TCPforHTTPSProxy"),
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 DCHECK(tcp_https_ret.second); 218 DCHECK(tcp_https_ret.second);
216 219
217 std::pair<SSLSocketPoolMap::iterator, bool> ssl_https_ret = 220 std::pair<SSLSocketPoolMap::iterator, bool> ssl_https_ret =
218 ssl_socket_pools_for_https_proxies_.insert( 221 ssl_socket_pools_for_https_proxies_.insert(
219 std::make_pair( 222 std::make_pair(
220 http_proxy, 223 http_proxy,
221 new SSLClientSocketPool( 224 new SSLClientSocketPool(
222 g_max_sockets_per_proxy_server, g_max_sockets_per_group, 225 g_max_sockets_per_proxy_server, g_max_sockets_per_group,
223 &ssl_for_https_proxy_pool_histograms_, 226 &ssl_for_https_proxy_pool_histograms_,
224 host_resolver_, 227 host_resolver_,
228 dnsrr_resolver_,
225 socket_factory_, 229 socket_factory_,
226 tcp_https_ret.first->second /* https proxy */, 230 tcp_https_ret.first->second /* https proxy */,
227 NULL /* no socks proxy */, 231 NULL /* no socks proxy */,
228 NULL /* no http proxy */, 232 NULL /* no http proxy */,
229 ssl_config_service_, net_log_))); 233 ssl_config_service_, net_log_)));
230 DCHECK(tcp_https_ret.second); 234 DCHECK(tcp_https_ret.second);
231 235
232 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret = 236 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret =
233 http_proxy_socket_pools_.insert( 237 http_proxy_socket_pools_.insert(
234 std::make_pair( 238 std::make_pair(
(...skipping 13 matching lines...) Expand all
248 const HostPortPair& proxy_server) { 252 const HostPortPair& proxy_server) {
249 SSLSocketPoolMap::const_iterator it = 253 SSLSocketPoolMap::const_iterator it =
250 ssl_socket_pools_for_proxies_.find(proxy_server); 254 ssl_socket_pools_for_proxies_.find(proxy_server);
251 if (it != ssl_socket_pools_for_proxies_.end()) 255 if (it != ssl_socket_pools_for_proxies_.end())
252 return it->second; 256 return it->second;
253 257
254 SSLClientSocketPool* new_pool = new SSLClientSocketPool( 258 SSLClientSocketPool* new_pool = new SSLClientSocketPool(
255 g_max_sockets_per_proxy_server, g_max_sockets_per_group, 259 g_max_sockets_per_proxy_server, g_max_sockets_per_group,
256 &ssl_pool_histograms_, 260 &ssl_pool_histograms_,
257 host_resolver_, 261 host_resolver_,
262 dnsrr_resolver_,
258 socket_factory_, 263 socket_factory_,
259 NULL, /* no tcp pool, we always go through a proxy */ 264 NULL, /* no tcp pool, we always go through a proxy */
260 GetSocketPoolForSOCKSProxy(proxy_server), 265 GetSocketPoolForSOCKSProxy(proxy_server),
261 GetSocketPoolForHTTPProxy(proxy_server), 266 GetSocketPoolForHTTPProxy(proxy_server),
262 ssl_config_service_, 267 ssl_config_service_,
263 net_log_); 268 net_log_);
264 269
265 std::pair<SSLSocketPoolMap::iterator, bool> ret = 270 std::pair<SSLSocketPoolMap::iterator, bool> ret =
266 ssl_socket_pools_for_proxies_.insert(std::make_pair(proxy_server, 271 ssl_socket_pools_for_proxies_.insert(std::make_pair(proxy_server,
267 new_pool)); 272 new_pool));
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
318 // Third parameter is false because |ssl_socket_pools_for_proxies_| use 323 // Third parameter is false because |ssl_socket_pools_for_proxies_| use
319 // socket pools in |http_proxy_socket_pools_| and |socks_socket_pools_|. 324 // socket pools in |http_proxy_socket_pools_| and |socks_socket_pools_|.
320 AddSocketPoolsToList(list, 325 AddSocketPoolsToList(list,
321 ssl_socket_pools_for_proxies_, 326 ssl_socket_pools_for_proxies_,
322 "ssl_socket_pool_for_proxies", 327 "ssl_socket_pool_for_proxies",
323 false); 328 false);
324 return list; 329 return list;
325 } 330 }
326 331
327 } // namespace net 332 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698