OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ | 5 #ifndef NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ |
6 #define NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ | 6 #define NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
11 #include "base/macros.h" | 11 #include "base/macros.h" |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/time/time.h" | 14 #include "base/time/time.h" |
15 #include "net/base/host_port_pair.h" | 15 #include "net/base/host_port_pair.h" |
16 #include "net/dns/host_resolver.h" | 16 #include "net/dns/host_resolver.h" |
17 #include "net/socket/client_socket_pool.h" | 17 #include "net/socket/client_socket_pool.h" |
18 #include "net/socket/client_socket_pool_base.h" | 18 #include "net/socket/client_socket_pool_base.h" |
19 | 19 |
20 namespace net { | 20 namespace net { |
21 | 21 |
22 class ConnectJobFactory; | 22 class ConnectJobFactory; |
| 23 class SocketPerformanceWatcherFactory; |
23 class TransportClientSocketPool; | 24 class TransportClientSocketPool; |
24 class TransportSocketParams; | 25 class TransportSocketParams; |
25 | 26 |
26 class NET_EXPORT_PRIVATE SOCKSSocketParams | 27 class NET_EXPORT_PRIVATE SOCKSSocketParams |
27 : public base::RefCounted<SOCKSSocketParams> { | 28 : public base::RefCounted<SOCKSSocketParams> { |
28 public: | 29 public: |
29 SOCKSSocketParams(const scoped_refptr<TransportSocketParams>& proxy_server, | 30 SOCKSSocketParams(const scoped_refptr<TransportSocketParams>& proxy_server, |
30 bool socks_v5, const HostPortPair& host_port_pair); | 31 bool socks_v5, const HostPortPair& host_port_pair); |
31 | 32 |
32 const scoped_refptr<TransportSocketParams>& transport_params() const { | 33 const scoped_refptr<TransportSocketParams>& transport_params() const { |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 scoped_ptr<StreamSocket> socket_; | 101 scoped_ptr<StreamSocket> socket_; |
101 | 102 |
102 DISALLOW_COPY_AND_ASSIGN(SOCKSConnectJob); | 103 DISALLOW_COPY_AND_ASSIGN(SOCKSConnectJob); |
103 }; | 104 }; |
104 | 105 |
105 class NET_EXPORT_PRIVATE SOCKSClientSocketPool | 106 class NET_EXPORT_PRIVATE SOCKSClientSocketPool |
106 : public ClientSocketPool, public HigherLayeredPool { | 107 : public ClientSocketPool, public HigherLayeredPool { |
107 public: | 108 public: |
108 typedef SOCKSSocketParams SocketParams; | 109 typedef SOCKSSocketParams SocketParams; |
109 | 110 |
110 SOCKSClientSocketPool( | 111 SOCKSClientSocketPool(int max_sockets, |
111 int max_sockets, | 112 int max_sockets_per_group, |
112 int max_sockets_per_group, | 113 HostResolver* host_resolver, |
113 HostResolver* host_resolver, | 114 TransportClientSocketPool* transport_pool, |
114 TransportClientSocketPool* transport_pool, | 115 SocketPerformanceWatcherFactory*, |
115 NetLog* net_log); | 116 NetLog* net_log); |
116 | 117 |
117 ~SOCKSClientSocketPool() override; | 118 ~SOCKSClientSocketPool() override; |
118 | 119 |
119 // ClientSocketPool implementation. | 120 // ClientSocketPool implementation. |
120 int RequestSocket(const std::string& group_name, | 121 int RequestSocket(const std::string& group_name, |
121 const void* connect_params, | 122 const void* connect_params, |
122 RequestPriority priority, | 123 RequestPriority priority, |
123 RespectLimits respect_limits, | 124 RespectLimits respect_limits, |
124 ClientSocketHandle* handle, | 125 ClientSocketHandle* handle, |
125 const CompletionCallback& callback, | 126 const CompletionCallback& callback, |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 | 198 |
198 TransportClientSocketPool* const transport_pool_; | 199 TransportClientSocketPool* const transport_pool_; |
199 PoolBase base_; | 200 PoolBase base_; |
200 | 201 |
201 DISALLOW_COPY_AND_ASSIGN(SOCKSClientSocketPool); | 202 DISALLOW_COPY_AND_ASSIGN(SOCKSClientSocketPool); |
202 }; | 203 }; |
203 | 204 |
204 } // namespace net | 205 } // namespace net |
205 | 206 |
206 #endif // NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ | 207 #endif // NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ |
OLD | NEW |