OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 STATE_SSL_CONNECT, | 116 STATE_SSL_CONNECT, |
117 STATE_SSL_CONNECT_COMPLETE, | 117 STATE_SSL_CONNECT_COMPLETE, |
118 STATE_HTTP_PROXY_CONNECT, | 118 STATE_HTTP_PROXY_CONNECT, |
119 STATE_HTTP_PROXY_CONNECT_COMPLETE, | 119 STATE_HTTP_PROXY_CONNECT_COMPLETE, |
120 STATE_SPDY_PROXY_CREATE_STREAM, | 120 STATE_SPDY_PROXY_CREATE_STREAM, |
121 STATE_SPDY_PROXY_CREATE_STREAM_COMPLETE, | 121 STATE_SPDY_PROXY_CREATE_STREAM_COMPLETE, |
122 STATE_SPDY_PROXY_CONNECT_COMPLETE, | 122 STATE_SPDY_PROXY_CONNECT_COMPLETE, |
123 STATE_NONE, | 123 STATE_NONE, |
124 }; | 124 }; |
125 | 125 |
126 // Begins the tcp connection and the optional Http proxy tunnel. If the | |
127 // request is not immediately servicable (likely), the request will return | |
128 // ERR_IO_PENDING. An OK return from this function or the callback means | |
129 // that the connection is established; ERR_PROXY_AUTH_REQUESTED means | |
130 // that the tunnel needs authentication credentials, the socket will be | |
131 // returned in this case, and must be release back to the pool; or | |
132 // a standard net error code will be returned. | |
133 virtual int ConnectInternal(); | |
134 | |
135 void OnIOComplete(int result); | 126 void OnIOComplete(int result); |
136 | 127 |
137 // Runs the state transition loop. | 128 // Runs the state transition loop. |
138 int DoLoop(int result); | 129 int DoLoop(int result); |
139 | 130 |
140 // Connecting to HTTP Proxy | 131 // Connecting to HTTP Proxy |
141 int DoTCPConnect(); | 132 int DoTCPConnect(); |
142 int DoTCPConnectComplete(int result); | 133 int DoTCPConnectComplete(int result); |
143 // Connecting to HTTPS Proxy | 134 // Connecting to HTTPS Proxy |
144 int DoSSLConnect(); | 135 int DoSSLConnect(); |
145 int DoSSLConnectComplete(int result); | 136 int DoSSLConnectComplete(int result); |
146 | 137 |
147 int DoHttpProxyConnect(); | 138 int DoHttpProxyConnect(); |
148 int DoHttpProxyConnectComplete(int result); | 139 int DoHttpProxyConnectComplete(int result); |
149 | 140 |
150 int DoSpdyProxyCreateStream(); | 141 int DoSpdyProxyCreateStream(); |
151 int DoSpdyProxyCreateStreamComplete(int result); | 142 int DoSpdyProxyCreateStreamComplete(int result); |
152 | 143 |
| 144 // Begins the tcp connection and the optional Http proxy tunnel. If the |
| 145 // request is not immediately servicable (likely), the request will return |
| 146 // ERR_IO_PENDING. An OK return from this function or the callback means |
| 147 // that the connection is established; ERR_PROXY_AUTH_REQUESTED means |
| 148 // that the tunnel needs authentication credentials, the socket will be |
| 149 // returned in this case, and must be release back to the pool; or |
| 150 // a standard net error code will be returned. |
| 151 virtual int ConnectInternal(); |
| 152 |
153 scoped_refptr<HttpProxySocketParams> params_; | 153 scoped_refptr<HttpProxySocketParams> params_; |
154 TCPClientSocketPool* const tcp_pool_; | 154 TCPClientSocketPool* const tcp_pool_; |
155 SSLClientSocketPool* const ssl_pool_; | 155 SSLClientSocketPool* const ssl_pool_; |
156 HostResolver* const resolver_; | 156 HostResolver* const resolver_; |
157 | 157 |
158 State next_state_; | 158 State next_state_; |
159 CompletionCallbackImpl<HttpProxyConnectJob> callback_; | 159 CompletionCallbackImpl<HttpProxyConnectJob> callback_; |
160 scoped_ptr<ClientSocketHandle> transport_socket_handle_; | 160 scoped_ptr<ClientSocketHandle> transport_socket_handle_; |
161 scoped_ptr<ProxyClientSocket> transport_socket_; | 161 scoped_ptr<ProxyClientSocket> transport_socket_; |
162 bool using_spdy_; | 162 bool using_spdy_; |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 | 254 |
255 DISALLOW_COPY_AND_ASSIGN(HttpProxyClientSocketPool); | 255 DISALLOW_COPY_AND_ASSIGN(HttpProxyClientSocketPool); |
256 }; | 256 }; |
257 | 257 |
258 REGISTER_SOCKET_PARAMS_FOR_POOL(HttpProxyClientSocketPool, | 258 REGISTER_SOCKET_PARAMS_FOR_POOL(HttpProxyClientSocketPool, |
259 HttpProxySocketParams); | 259 HttpProxySocketParams); |
260 | 260 |
261 } // namespace net | 261 } // namespace net |
262 | 262 |
263 #endif // NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ | 263 #endif // NET_HTTP_HTTP_PROXY_CLIENT_SOCKET_POOL_H_ |
OLD | NEW |