OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // This ClientSocket implementation wraps a ClientSocketHandle that is created | 5 // This StreamSocket implementation wraps a ClientSocketHandle that is created |
6 // from the client socket pool after resolving proxies. | 6 // from the client socket pool after resolving proxies. |
7 | 7 |
8 #ifndef JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ | 8 #ifndef JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ |
9 #define JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ | 9 #define JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ |
10 #pragma once | 10 #pragma once |
11 | 11 |
12 #include "base/basictypes.h" | 12 #include "base/basictypes.h" |
13 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
14 #include "net/base/completion_callback.h" | 14 #include "net/base/completion_callback.h" |
15 #include "net/base/host_port_pair.h" | 15 #include "net/base/host_port_pair.h" |
16 #include "net/base/net_errors.h" | 16 #include "net/base/net_errors.h" |
17 #include "net/base/net_log.h" | 17 #include "net/base/net_log.h" |
18 #include "net/base/ssl_config_service.h" | 18 #include "net/base/ssl_config_service.h" |
19 #include "net/proxy/proxy_info.h" | 19 #include "net/proxy/proxy_info.h" |
20 #include "net/proxy/proxy_service.h" | 20 #include "net/proxy/proxy_service.h" |
21 #include "net/socket/client_socket.h" | 21 #include "net/socket/stream_socket.h" |
22 | 22 |
23 namespace net { | 23 namespace net { |
24 class ClientSocketHandle; | 24 class ClientSocketHandle; |
25 class HttpNetworkSession; | 25 class HttpNetworkSession; |
26 class URLRequestContextGetter; | 26 class URLRequestContextGetter; |
27 } // namespace net | 27 } // namespace net |
28 | 28 |
29 // TODO(sanjeevr): Move this to net/ | 29 // TODO(sanjeevr): Move this to net/ |
30 namespace notifier { | 30 namespace notifier { |
31 | 31 |
32 class ProxyResolvingClientSocket : public net::ClientSocket { | 32 class ProxyResolvingClientSocket : public net::StreamSocket { |
33 public: | 33 public: |
34 ProxyResolvingClientSocket( | 34 ProxyResolvingClientSocket( |
35 const scoped_refptr<net::URLRequestContextGetter>& | 35 const scoped_refptr<net::URLRequestContextGetter>& |
36 request_context_getter, | 36 request_context_getter, |
37 const net::SSLConfig& ssl_config, | 37 const net::SSLConfig& ssl_config, |
38 const net::HostPortPair& dest_host_port_pair, | 38 const net::HostPortPair& dest_host_port_pair, |
39 net::NetLog* net_log); | 39 net::NetLog* net_log); |
40 virtual ~ProxyResolvingClientSocket(); | 40 virtual ~ProxyResolvingClientSocket(); |
41 | 41 |
42 // net::ClientSocket implementation. | 42 // net::StreamSocket implementation. |
43 virtual int Read(net::IOBuffer* buf, int buf_len, | 43 virtual int Read(net::IOBuffer* buf, int buf_len, |
44 net::CompletionCallback* callback) OVERRIDE; | 44 net::CompletionCallback* callback) OVERRIDE; |
45 virtual int Write(net::IOBuffer* buf, int buf_len, | 45 virtual int Write(net::IOBuffer* buf, int buf_len, |
46 net::CompletionCallback* callback) OVERRIDE; | 46 net::CompletionCallback* callback) OVERRIDE; |
47 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; | 47 virtual bool SetReceiveBufferSize(int32 size) OVERRIDE; |
48 virtual bool SetSendBufferSize(int32 size) OVERRIDE; | 48 virtual bool SetSendBufferSize(int32 size) OVERRIDE; |
49 virtual int Connect(net::CompletionCallback* callback) OVERRIDE; | 49 virtual int Connect(net::CompletionCallback* callback) OVERRIDE; |
50 virtual void Disconnect() OVERRIDE; | 50 virtual void Disconnect() OVERRIDE; |
51 virtual bool IsConnected() const OVERRIDE; | 51 virtual bool IsConnected() const OVERRIDE; |
52 virtual bool IsConnectedAndIdle() const OVERRIDE; | 52 virtual bool IsConnectedAndIdle() const OVERRIDE; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 ScopedRunnableMethodFactory<ProxyResolvingClientSocket> | 86 ScopedRunnableMethodFactory<ProxyResolvingClientSocket> |
87 scoped_runnable_method_factory_; | 87 scoped_runnable_method_factory_; |
88 | 88 |
89 // The callback passed to Connect(). | 89 // The callback passed to Connect(). |
90 net::CompletionCallback* user_connect_callback_; | 90 net::CompletionCallback* user_connect_callback_; |
91 }; | 91 }; |
92 | 92 |
93 } // namespace notifier | 93 } // namespace notifier |
94 | 94 |
95 #endif // JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ | 95 #endif // JINGLE_NOTIFIER_BASE_PROXY_RESOLVING_CLIENT_SOCKET_H_ |
OLD | NEW |