summaryrefslogtreecommitdiffstats
path: root/net/socket/socks5_client_socket.h
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 17:17:26 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 17:17:26 +0000
commita796bcec176ca3875a55346800b3a60a83e2dd89 (patch)
tree2533c17673ff50f4f101e803c2dff3bf8f5cbf7b /net/socket/socks5_client_socket.h
parent35818452760c23c570b7947e00a3b38e733ce58e (diff)
downloadchromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.zip
chromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.tar.gz
chromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.tar.bz2
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
Diffstat (limited to 'net/socket/socks5_client_socket.h')
-rw-r--r--net/socket/socks5_client_socket.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/socket/socks5_client_socket.h b/net/socket/socks5_client_socket.h
index ae3ef76..3e30c19 100644
--- a/net/socket/socks5_client_socket.h
+++ b/net/socket/socks5_client_socket.h
@@ -21,6 +21,7 @@
namespace net {
+class ClientSocketHandle;
class BoundNetLog;
// This ClientSocket is used to setup a SOCKSv5 handshake with a socks proxy.
@@ -36,6 +37,10 @@ class SOCKS5ClientSocket : public ClientSocket {
// Although SOCKS 5 supports 3 different modes of addressing, we will
// always pass it a hostname. This means the DNS resolving is done
// proxy side.
+ SOCKS5ClientSocket(ClientSocketHandle* transport_socket,
+ const HostResolver::RequestInfo& req_info);
+
+ // Deprecated constructor (http://crbug.com/37810) that takes a ClientSocket.
SOCKS5ClientSocket(ClientSocket* transport_socket,
const HostResolver::RequestInfo& req_info);
@@ -106,7 +111,7 @@ class SOCKS5ClientSocket : public ClientSocket {
CompletionCallbackImpl<SOCKS5ClientSocket> io_callback_;
// Stores the underlying socket.
- scoped_ptr<ClientSocket> transport_;
+ scoped_ptr<ClientSocketHandle> transport_;
State next_state_;