From a796bcec176ca3875a55346800b3a60a83e2dd89 Mon Sep 17 00:00:00 2001 From: "vandebo@chromium.org" Date: Mon, 22 Mar 2010 17:17:26 +0000 Subject: Implement SOCKSClientSocketPool This is the first layered pool, so there are several infrastructure changes in this change as well. Add a ConnectionTimeout method to pools so that layered pools can timeout each phase. Add a name method to pools to support per pool UMA histograms. Change SOCKS sockets to take a ClientSocketHandle instead of a ClientSocket BUG=30357 (blocks an SSL Pool) TEST=existing unit tests Review URL: http://codereview.chromium.org/668097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42231 0039d316-1c4b-4281-b951-d872f2087c98 --- net/http/http_network_session.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'net/http/http_network_session.cc') diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc index 79af40f..d7dbe94 100644 --- a/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc @@ -20,6 +20,8 @@ int HttpNetworkSession::max_sockets_per_group_ = 6; uint16 HttpNetworkSession::g_fixed_http_port = 0; uint16 HttpNetworkSession::g_fixed_https_port = 0; +// TODO(vandebo) when we've completely converted to pools, the base TCP +// pool name should get changed to TCP instead of Transport. HttpNetworkSession::HttpNetworkSession( NetworkChangeNotifier* network_change_notifier, HostResolver* host_resolver, @@ -30,8 +32,15 @@ HttpNetworkSession::HttpNetworkSession( HttpAuthHandlerFactory* http_auth_handler_factory) : network_change_notifier_(network_change_notifier), tcp_socket_pool_(new TCPClientSocketPool( - max_sockets_, max_sockets_per_group_, + max_sockets_, max_sockets_per_group_, "Transport", host_resolver, client_socket_factory, network_change_notifier_)), + socks_socket_pool_(new SOCKSClientSocketPool( + max_sockets_, max_sockets_per_group_, "SOCKS", host_resolver, + new TCPClientSocketPool(max_sockets_, max_sockets_per_group_, + "TCPForSOCKS", host_resolver, + client_socket_factory, + network_change_notifier_), + network_change_notifier_)), socket_factory_(client_socket_factory), host_resolver_(host_resolver), proxy_service_(proxy_service), @@ -53,9 +62,12 @@ void HttpNetworkSession::set_max_sockets_per_group(int socket_count) { max_sockets_per_group_ = socket_count; } +// TODO(vandebo) when we've completely converted to pools, the base TCP +// pool name should get changed to TCP instead of Transport. void HttpNetworkSession::ReplaceTCPSocketPool() { tcp_socket_pool_ = new TCPClientSocketPool(max_sockets_, max_sockets_per_group_, + "Transport", host_resolver_, socket_factory_, network_change_notifier_); -- cgit v1.1