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/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/compiler_specific.h" | 11 #include "base/compiler_specific.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 #include "net/socket/client_socket_pool_histograms.h" | |
20 | 19 |
21 namespace net { | 20 namespace net { |
22 | 21 |
23 class ConnectJobFactory; | 22 class ConnectJobFactory; |
24 class TransportClientSocketPool; | 23 class TransportClientSocketPool; |
25 class TransportSocketParams; | 24 class TransportSocketParams; |
26 | 25 |
27 class NET_EXPORT_PRIVATE SOCKSSocketParams | 26 class NET_EXPORT_PRIVATE SOCKSSocketParams |
28 : public base::RefCounted<SOCKSSocketParams> { | 27 : public base::RefCounted<SOCKSSocketParams> { |
29 public: | 28 public: |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 }; | 104 }; |
106 | 105 |
107 class NET_EXPORT_PRIVATE SOCKSClientSocketPool | 106 class NET_EXPORT_PRIVATE SOCKSClientSocketPool |
108 : public ClientSocketPool, public HigherLayeredPool { | 107 : public ClientSocketPool, public HigherLayeredPool { |
109 public: | 108 public: |
110 typedef SOCKSSocketParams SocketParams; | 109 typedef SOCKSSocketParams SocketParams; |
111 | 110 |
112 SOCKSClientSocketPool( | 111 SOCKSClientSocketPool( |
113 int max_sockets, | 112 int max_sockets, |
114 int max_sockets_per_group, | 113 int max_sockets_per_group, |
115 ClientSocketPoolHistograms* histograms, | |
116 HostResolver* host_resolver, | 114 HostResolver* host_resolver, |
117 TransportClientSocketPool* transport_pool, | 115 TransportClientSocketPool* transport_pool, |
118 NetLog* net_log); | 116 NetLog* net_log); |
119 | 117 |
120 ~SOCKSClientSocketPool() override; | 118 ~SOCKSClientSocketPool() override; |
121 | 119 |
122 // ClientSocketPool implementation. | 120 // ClientSocketPool implementation. |
123 int RequestSocket(const std::string& group_name, | 121 int RequestSocket(const std::string& group_name, |
124 const void* connect_params, | 122 const void* connect_params, |
125 RequestPriority priority, | 123 RequestPriority priority, |
(...skipping 24 matching lines...) Expand all Loading... |
150 LoadState GetLoadState(const std::string& group_name, | 148 LoadState GetLoadState(const std::string& group_name, |
151 const ClientSocketHandle* handle) const override; | 149 const ClientSocketHandle* handle) const override; |
152 | 150 |
153 base::DictionaryValue* GetInfoAsValue( | 151 base::DictionaryValue* GetInfoAsValue( |
154 const std::string& name, | 152 const std::string& name, |
155 const std::string& type, | 153 const std::string& type, |
156 bool include_nested_pools) const override; | 154 bool include_nested_pools) const override; |
157 | 155 |
158 base::TimeDelta ConnectionTimeout() const override; | 156 base::TimeDelta ConnectionTimeout() const override; |
159 | 157 |
160 ClientSocketPoolHistograms* histograms() const override; | |
161 | |
162 // LowerLayeredPool implementation. | 158 // LowerLayeredPool implementation. |
163 bool IsStalled() const override; | 159 bool IsStalled() const override; |
164 | 160 |
165 void AddHigherLayeredPool(HigherLayeredPool* higher_pool) override; | 161 void AddHigherLayeredPool(HigherLayeredPool* higher_pool) override; |
166 | 162 |
167 void RemoveHigherLayeredPool(HigherLayeredPool* higher_pool) override; | 163 void RemoveHigherLayeredPool(HigherLayeredPool* higher_pool) override; |
168 | 164 |
169 // HigherLayeredPool implementation. | 165 // HigherLayeredPool implementation. |
170 bool CloseOneIdleConnection() override; | 166 bool CloseOneIdleConnection() override; |
171 | 167 |
(...skipping 29 matching lines...) Expand all Loading... |
201 | 197 |
202 TransportClientSocketPool* const transport_pool_; | 198 TransportClientSocketPool* const transport_pool_; |
203 PoolBase base_; | 199 PoolBase base_; |
204 | 200 |
205 DISALLOW_COPY_AND_ASSIGN(SOCKSClientSocketPool); | 201 DISALLOW_COPY_AND_ASSIGN(SOCKSClientSocketPool); |
206 }; | 202 }; |
207 | 203 |
208 } // namespace net | 204 } // namespace net |
209 | 205 |
210 #endif // NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ | 206 #endif // NET_SOCKET_SOCKS_CLIENT_SOCKET_POOL_H_ |
OLD | NEW |