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_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ | 5 #ifndef NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ |
6 #define NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ | 6 #define NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 const scoped_refptr<HttpProxySocketParams>& params, | 107 const scoped_refptr<HttpProxySocketParams>& params, |
108 const base::TimeDelta& timeout_duration, | 108 const base::TimeDelta& timeout_duration, |
109 TransportClientSocketPool* transport_pool, | 109 TransportClientSocketPool* transport_pool, |
110 SSLClientSocketPool* ssl_pool, | 110 SSLClientSocketPool* ssl_pool, |
111 HostResolver* host_resolver, | 111 HostResolver* host_resolver, |
112 Delegate* delegate, | 112 Delegate* delegate, |
113 NetLog* net_log); | 113 NetLog* net_log); |
114 virtual ~HttpProxyConnectJob(); | 114 virtual ~HttpProxyConnectJob(); |
115 | 115 |
116 // ConnectJob methods. | 116 // ConnectJob methods. |
117 virtual LoadState GetLoadState() const OVERRIDE; | 117 virtual LoadState GetLoadState() const override; |
118 | 118 |
119 virtual void GetAdditionalErrorState(ClientSocketHandle* handle) OVERRIDE; | 119 virtual void GetAdditionalErrorState(ClientSocketHandle* handle) override; |
120 | 120 |
121 private: | 121 private: |
122 enum State { | 122 enum State { |
123 STATE_TCP_CONNECT, | 123 STATE_TCP_CONNECT, |
124 STATE_TCP_CONNECT_COMPLETE, | 124 STATE_TCP_CONNECT_COMPLETE, |
125 STATE_SSL_CONNECT, | 125 STATE_SSL_CONNECT, |
126 STATE_SSL_CONNECT_COMPLETE, | 126 STATE_SSL_CONNECT_COMPLETE, |
127 STATE_HTTP_PROXY_CONNECT, | 127 STATE_HTTP_PROXY_CONNECT, |
128 STATE_HTTP_PROXY_CONNECT_COMPLETE, | 128 STATE_HTTP_PROXY_CONNECT_COMPLETE, |
129 STATE_SPDY_PROXY_CREATE_STREAM, | 129 STATE_SPDY_PROXY_CREATE_STREAM, |
(...skipping 20 matching lines...) Expand all Loading... |
150 int DoSpdyProxyCreateStream(); | 150 int DoSpdyProxyCreateStream(); |
151 int DoSpdyProxyCreateStreamComplete(int result); | 151 int DoSpdyProxyCreateStreamComplete(int result); |
152 | 152 |
153 // Begins the tcp connection and the optional Http proxy tunnel. If the | 153 // Begins the tcp connection and the optional Http proxy tunnel. If the |
154 // request is not immediately servicable (likely), the request will return | 154 // request is not immediately servicable (likely), the request will return |
155 // ERR_IO_PENDING. An OK return from this function or the callback means | 155 // ERR_IO_PENDING. An OK return from this function or the callback means |
156 // that the connection is established; ERR_PROXY_AUTH_REQUESTED means | 156 // that the connection is established; ERR_PROXY_AUTH_REQUESTED means |
157 // that the tunnel needs authentication credentials, the socket will be | 157 // that the tunnel needs authentication credentials, the socket will be |
158 // returned in this case, and must be release back to the pool; or | 158 // returned in this case, and must be release back to the pool; or |
159 // a standard net error code will be returned. | 159 // a standard net error code will be returned. |
160 virtual int ConnectInternal() OVERRIDE; | 160 virtual int ConnectInternal() override; |
161 | 161 |
162 scoped_refptr<HttpProxySocketParams> params_; | 162 scoped_refptr<HttpProxySocketParams> params_; |
163 TransportClientSocketPool* const transport_pool_; | 163 TransportClientSocketPool* const transport_pool_; |
164 SSLClientSocketPool* const ssl_pool_; | 164 SSLClientSocketPool* const ssl_pool_; |
165 HostResolver* const resolver_; | 165 HostResolver* const resolver_; |
166 | 166 |
167 State next_state_; | 167 State next_state_; |
168 CompletionCallback callback_; | 168 CompletionCallback callback_; |
169 scoped_ptr<ClientSocketHandle> transport_socket_handle_; | 169 scoped_ptr<ClientSocketHandle> transport_socket_handle_; |
170 scoped_ptr<ProxyClientSocket> transport_socket_; | 170 scoped_ptr<ProxyClientSocket> transport_socket_; |
(...skipping 27 matching lines...) Expand all Loading... |
198 NetLog* net_log); | 198 NetLog* net_log); |
199 | 199 |
200 virtual ~HttpProxyClientSocketPool(); | 200 virtual ~HttpProxyClientSocketPool(); |
201 | 201 |
202 // ClientSocketPool implementation. | 202 // ClientSocketPool implementation. |
203 virtual int RequestSocket(const std::string& group_name, | 203 virtual int RequestSocket(const std::string& group_name, |
204 const void* connect_params, | 204 const void* connect_params, |
205 RequestPriority priority, | 205 RequestPriority priority, |
206 ClientSocketHandle* handle, | 206 ClientSocketHandle* handle, |
207 const CompletionCallback& callback, | 207 const CompletionCallback& callback, |
208 const BoundNetLog& net_log) OVERRIDE; | 208 const BoundNetLog& net_log) override; |
209 | 209 |
210 virtual void RequestSockets(const std::string& group_name, | 210 virtual void RequestSockets(const std::string& group_name, |
211 const void* params, | 211 const void* params, |
212 int num_sockets, | 212 int num_sockets, |
213 const BoundNetLog& net_log) OVERRIDE; | 213 const BoundNetLog& net_log) override; |
214 | 214 |
215 virtual void CancelRequest(const std::string& group_name, | 215 virtual void CancelRequest(const std::string& group_name, |
216 ClientSocketHandle* handle) OVERRIDE; | 216 ClientSocketHandle* handle) override; |
217 | 217 |
218 virtual void ReleaseSocket(const std::string& group_name, | 218 virtual void ReleaseSocket(const std::string& group_name, |
219 scoped_ptr<StreamSocket> socket, | 219 scoped_ptr<StreamSocket> socket, |
220 int id) OVERRIDE; | 220 int id) override; |
221 | 221 |
222 virtual void FlushWithError(int error) OVERRIDE; | 222 virtual void FlushWithError(int error) override; |
223 | 223 |
224 virtual void CloseIdleSockets() OVERRIDE; | 224 virtual void CloseIdleSockets() override; |
225 | 225 |
226 virtual int IdleSocketCount() const OVERRIDE; | 226 virtual int IdleSocketCount() const override; |
227 | 227 |
228 virtual int IdleSocketCountInGroup( | 228 virtual int IdleSocketCountInGroup( |
229 const std::string& group_name) const OVERRIDE; | 229 const std::string& group_name) const override; |
230 | 230 |
231 virtual LoadState GetLoadState( | 231 virtual LoadState GetLoadState( |
232 const std::string& group_name, | 232 const std::string& group_name, |
233 const ClientSocketHandle* handle) const OVERRIDE; | 233 const ClientSocketHandle* handle) const override; |
234 | 234 |
235 virtual base::DictionaryValue* GetInfoAsValue( | 235 virtual base::DictionaryValue* GetInfoAsValue( |
236 const std::string& name, | 236 const std::string& name, |
237 const std::string& type, | 237 const std::string& type, |
238 bool include_nested_pools) const OVERRIDE; | 238 bool include_nested_pools) const override; |
239 | 239 |
240 virtual base::TimeDelta ConnectionTimeout() const OVERRIDE; | 240 virtual base::TimeDelta ConnectionTimeout() const override; |
241 | 241 |
242 virtual ClientSocketPoolHistograms* histograms() const OVERRIDE; | 242 virtual ClientSocketPoolHistograms* histograms() const override; |
243 | 243 |
244 // LowerLayeredPool implementation. | 244 // LowerLayeredPool implementation. |
245 virtual bool IsStalled() const OVERRIDE; | 245 virtual bool IsStalled() const override; |
246 | 246 |
247 virtual void AddHigherLayeredPool(HigherLayeredPool* higher_pool) OVERRIDE; | 247 virtual void AddHigherLayeredPool(HigherLayeredPool* higher_pool) override; |
248 | 248 |
249 virtual void RemoveHigherLayeredPool(HigherLayeredPool* higher_pool) OVERRIDE; | 249 virtual void RemoveHigherLayeredPool(HigherLayeredPool* higher_pool) override; |
250 | 250 |
251 // HigherLayeredPool implementation. | 251 // HigherLayeredPool implementation. |
252 virtual bool CloseOneIdleConnection() OVERRIDE; | 252 virtual bool CloseOneIdleConnection() override; |
253 | 253 |
254 private: | 254 private: |
255 typedef ClientSocketPoolBase<HttpProxySocketParams> PoolBase; | 255 typedef ClientSocketPoolBase<HttpProxySocketParams> PoolBase; |
256 | 256 |
257 class HttpProxyConnectJobFactory : public PoolBase::ConnectJobFactory { | 257 class HttpProxyConnectJobFactory : public PoolBase::ConnectJobFactory { |
258 public: | 258 public: |
259 HttpProxyConnectJobFactory( | 259 HttpProxyConnectJobFactory( |
260 TransportClientSocketPool* transport_pool, | 260 TransportClientSocketPool* transport_pool, |
261 SSLClientSocketPool* ssl_pool, | 261 SSLClientSocketPool* ssl_pool, |
262 HostResolver* host_resolver, | 262 HostResolver* host_resolver, |
263 const ProxyDelegate* proxy_delegate, | 263 const ProxyDelegate* proxy_delegate, |
264 NetLog* net_log); | 264 NetLog* net_log); |
265 | 265 |
266 // ClientSocketPoolBase::ConnectJobFactory methods. | 266 // ClientSocketPoolBase::ConnectJobFactory methods. |
267 virtual scoped_ptr<ConnectJob> NewConnectJob( | 267 virtual scoped_ptr<ConnectJob> NewConnectJob( |
268 const std::string& group_name, | 268 const std::string& group_name, |
269 const PoolBase::Request& request, | 269 const PoolBase::Request& request, |
270 ConnectJob::Delegate* delegate) const OVERRIDE; | 270 ConnectJob::Delegate* delegate) const override; |
271 | 271 |
272 virtual base::TimeDelta ConnectionTimeout() const OVERRIDE; | 272 virtual base::TimeDelta ConnectionTimeout() const override; |
273 | 273 |
274 private: | 274 private: |
275 TransportClientSocketPool* const transport_pool_; | 275 TransportClientSocketPool* const transport_pool_; |
276 SSLClientSocketPool* const ssl_pool_; | 276 SSLClientSocketPool* const ssl_pool_; |
277 HostResolver* const host_resolver_; | 277 HostResolver* const host_resolver_; |
278 const ProxyDelegate* proxy_delegate_; | 278 const ProxyDelegate* proxy_delegate_; |
279 NetLog* net_log_; | 279 NetLog* net_log_; |
280 base::TimeDelta timeout_; | 280 base::TimeDelta timeout_; |
281 | 281 |
282 DISALLOW_COPY_AND_ASSIGN(HttpProxyConnectJobFactory); | 282 DISALLOW_COPY_AND_ASSIGN(HttpProxyConnectJobFactory); |
283 }; | 283 }; |
284 | 284 |
285 TransportClientSocketPool* const transport_pool_; | 285 TransportClientSocketPool* const transport_pool_; |
286 SSLClientSocketPool* const ssl_pool_; | 286 SSLClientSocketPool* const ssl_pool_; |
287 PoolBase base_; | 287 PoolBase base_; |
288 | 288 |
289 DISALLOW_COPY_AND_ASSIGN(HttpProxyClientSocketPool); | 289 DISALLOW_COPY_AND_ASSIGN(HttpProxyClientSocketPool); |
290 }; | 290 }; |
291 | 291 |
292 } // namespace net | 292 } // namespace net |
293 | 293 |
294 #endif // NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ | 294 #endif // NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ |
OLD | NEW |