diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 17:17:26 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 17:17:26 +0000 |
commit | a796bcec176ca3875a55346800b3a60a83e2dd89 (patch) | |
tree | 2533c17673ff50f4f101e803c2dff3bf8f5cbf7b /net/socket/socks5_client_socket.h | |
parent | 35818452760c23c570b7947e00a3b38e733ce58e (diff) | |
download | chromium_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.h | 7 |
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_; |