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 // ClientSocketPoolManager manages access to all ClientSocketPools. It's a | 5 // ClientSocketPoolManager manages access to all ClientSocketPools. It's a |
6 // simple container for all of them. Most importantly, it handles the lifetime | 6 // simple container for all of them. Most importantly, it handles the lifetime |
7 // and destruction order properly. | 7 // and destruction order properly. |
8 | 8 |
9 #ifndef NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ | 9 #ifndef NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ |
10 #define NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ | 10 #define NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ |
11 #pragma once | 11 #pragma once |
12 | 12 |
13 #include "net/base/completion_callback.h" | 13 #include "net/base/completion_callback.h" |
14 #include "net/base/net_export.h" | 14 #include "net/base/net_export.h" |
15 #include "net/base/request_priority.h" | 15 #include "net/base/request_priority.h" |
| 16 #include "net/http/http_proxy_client_socket_pool.h" |
16 | 17 |
17 class GURL; | 18 class GURL; |
18 | 19 |
19 namespace base { | 20 namespace base { |
20 class Value; | 21 class Value; |
21 } | 22 } |
22 | 23 |
23 namespace net { | 24 namespace net { |
24 | 25 |
25 class BoundNetLog; | 26 class BoundNetLog; |
26 class ClientSocketHandle; | 27 class ClientSocketHandle; |
27 class HostPortPair; | 28 class HostPortPair; |
28 class HttpNetworkSession; | 29 class HttpNetworkSession; |
29 class HttpProxyClientSocketPool; | |
30 class HttpRequestHeaders; | 30 class HttpRequestHeaders; |
31 class ProxyInfo; | 31 class ProxyInfo; |
32 class TransportClientSocketPool; | 32 class TransportClientSocketPool; |
33 class SOCKSClientSocketPool; | 33 class SOCKSClientSocketPool; |
34 class SSLClientSocketPool; | 34 class SSLClientSocketPool; |
35 | 35 |
36 struct SSLConfig; | 36 struct SSLConfig; |
37 | 37 |
38 // This should rather be a simple constant but Windows shared libs doesn't | 38 // This should rather be a simple constant but Windows shared libs doesn't |
39 // really offer much flexiblity in exporting contants. | 39 // really offer much flexiblity in exporting contants. |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 int request_load_flags, | 81 int request_load_flags, |
82 RequestPriority request_priority, | 82 RequestPriority request_priority, |
83 HttpNetworkSession* session, | 83 HttpNetworkSession* session, |
84 const ProxyInfo& proxy_info, | 84 const ProxyInfo& proxy_info, |
85 bool force_spdy_over_ssl, | 85 bool force_spdy_over_ssl, |
86 bool want_spdy_over_npn, | 86 bool want_spdy_over_npn, |
87 const SSLConfig& ssl_config_for_origin, | 87 const SSLConfig& ssl_config_for_origin, |
88 const SSLConfig& ssl_config_for_proxy, | 88 const SSLConfig& ssl_config_for_proxy, |
89 const BoundNetLog& net_log, | 89 const BoundNetLog& net_log, |
90 ClientSocketHandle* socket_handle, | 90 ClientSocketHandle* socket_handle, |
| 91 TunnelAuthCallback auth_needed_callback, |
91 const CompletionCallback& callback); | 92 const CompletionCallback& callback); |
92 | 93 |
93 // A helper method that uses the passed in proxy information to initialize a | 94 // A helper method that uses the passed in proxy information to initialize a |
94 // ClientSocketHandle with the relevant socket pool. Use this method for | 95 // ClientSocketHandle with the relevant socket pool. Use this method for |
95 // a raw socket connection to a host-port pair (that needs to tunnel through | 96 // a raw socket connection to a host-port pair (that needs to tunnel through |
96 // the proxies). | 97 // the proxies). |
97 NET_EXPORT int InitSocketHandleForRawConnect( | 98 NET_EXPORT int InitSocketHandleForRawConnect( |
98 const HostPortPair& host_port_pair, | 99 const HostPortPair& host_port_pair, |
99 HttpNetworkSession* session, | 100 HttpNetworkSession* session, |
100 const ProxyInfo& proxy_info, | 101 const ProxyInfo& proxy_info, |
101 const SSLConfig& ssl_config_for_origin, | 102 const SSLConfig& ssl_config_for_origin, |
102 const SSLConfig& ssl_config_for_proxy, | 103 const SSLConfig& ssl_config_for_proxy, |
103 const BoundNetLog& net_log, | 104 const BoundNetLog& net_log, |
104 ClientSocketHandle* socket_handle, | 105 ClientSocketHandle* socket_handle, |
| 106 TunnelAuthCallback auth_needed_callback, |
105 const CompletionCallback& callback); | 107 const CompletionCallback& callback); |
106 | 108 |
107 // Similar to InitSocketHandleForHttpRequest except that it initiates the | 109 // Similar to InitSocketHandleForHttpRequest except that it initiates the |
108 // desired number of preconnect streams from the relevant socket pool. | 110 // desired number of preconnect streams from the relevant socket pool. |
109 int PreconnectSocketsForHttpRequest( | 111 int PreconnectSocketsForHttpRequest( |
110 const GURL& request_url, | 112 const GURL& request_url, |
111 const HttpRequestHeaders& request_extra_headers, | 113 const HttpRequestHeaders& request_extra_headers, |
112 int request_load_flags, | 114 int request_load_flags, |
113 RequestPriority request_priority, | 115 RequestPriority request_priority, |
114 HttpNetworkSession* session, | 116 HttpNetworkSession* session, |
115 const ProxyInfo& proxy_info, | 117 const ProxyInfo& proxy_info, |
116 bool force_spdy_over_ssl, | 118 bool force_spdy_over_ssl, |
117 bool want_spdy_over_npn, | 119 bool want_spdy_over_npn, |
118 const SSLConfig& ssl_config_for_origin, | 120 const SSLConfig& ssl_config_for_origin, |
119 const SSLConfig& ssl_config_for_proxy, | 121 const SSLConfig& ssl_config_for_proxy, |
120 const BoundNetLog& net_log, | 122 const BoundNetLog& net_log, |
121 int num_preconnect_streams); | 123 int num_preconnect_streams, |
| 124 TunnelAuthCallback auth_needed_callback); |
122 | 125 |
123 } // namespace net | 126 } // namespace net |
124 | 127 |
125 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ | 128 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ |
OLD | NEW |