OLD | NEW |
1 // Copyright (c) 2012 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" | |
17 | 16 |
18 class GURL; | 17 class GURL; |
19 | 18 |
20 namespace base { | 19 namespace base { |
21 class Value; | 20 class Value; |
22 } | 21 } |
23 | 22 |
24 namespace net { | 23 namespace net { |
25 | 24 |
26 class BoundNetLog; | 25 class BoundNetLog; |
27 class ClientSocketHandle; | 26 class ClientSocketHandle; |
28 class HostPortPair; | 27 class HostPortPair; |
29 class HttpNetworkSession; | 28 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, | |
92 const CompletionCallback& callback); | 91 const CompletionCallback& callback); |
93 | 92 |
94 // A helper method that uses the passed in proxy information to initialize a | 93 // A helper method that uses the passed in proxy information to initialize a |
95 // ClientSocketHandle with the relevant socket pool. Use this method for | 94 // ClientSocketHandle with the relevant socket pool. Use this method for |
96 // a raw socket connection to a host-port pair (that needs to tunnel through | 95 // a raw socket connection to a host-port pair (that needs to tunnel through |
97 // the proxies). | 96 // the proxies). |
98 NET_EXPORT int InitSocketHandleForRawConnect( | 97 NET_EXPORT int InitSocketHandleForRawConnect( |
99 const HostPortPair& host_port_pair, | 98 const HostPortPair& host_port_pair, |
100 HttpNetworkSession* session, | 99 HttpNetworkSession* session, |
101 const ProxyInfo& proxy_info, | 100 const ProxyInfo& proxy_info, |
102 const SSLConfig& ssl_config_for_origin, | 101 const SSLConfig& ssl_config_for_origin, |
103 const SSLConfig& ssl_config_for_proxy, | 102 const SSLConfig& ssl_config_for_proxy, |
104 const BoundNetLog& net_log, | 103 const BoundNetLog& net_log, |
105 ClientSocketHandle* socket_handle, | 104 ClientSocketHandle* socket_handle, |
106 TunnelAuthCallback auth_needed_callback, | |
107 const CompletionCallback& callback); | 105 const CompletionCallback& callback); |
108 | 106 |
109 // Similar to InitSocketHandleForHttpRequest except that it initiates the | 107 // Similar to InitSocketHandleForHttpRequest except that it initiates the |
110 // desired number of preconnect streams from the relevant socket pool. | 108 // desired number of preconnect streams from the relevant socket pool. |
111 int PreconnectSocketsForHttpRequest( | 109 int PreconnectSocketsForHttpRequest( |
112 const GURL& request_url, | 110 const GURL& request_url, |
113 const HttpRequestHeaders& request_extra_headers, | 111 const HttpRequestHeaders& request_extra_headers, |
114 int request_load_flags, | 112 int request_load_flags, |
115 RequestPriority request_priority, | 113 RequestPriority request_priority, |
116 HttpNetworkSession* session, | 114 HttpNetworkSession* session, |
117 const ProxyInfo& proxy_info, | 115 const ProxyInfo& proxy_info, |
118 bool force_spdy_over_ssl, | 116 bool force_spdy_over_ssl, |
119 bool want_spdy_over_npn, | 117 bool want_spdy_over_npn, |
120 const SSLConfig& ssl_config_for_origin, | 118 const SSLConfig& ssl_config_for_origin, |
121 const SSLConfig& ssl_config_for_proxy, | 119 const SSLConfig& ssl_config_for_proxy, |
122 const BoundNetLog& net_log, | 120 const BoundNetLog& net_log, |
123 int num_preconnect_streams, | 121 int num_preconnect_streams); |
124 TunnelAuthCallback auth_needed_callback); | |
125 | 122 |
126 } // namespace net | 123 } // namespace net |
127 | 124 |
128 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ | 125 #endif // NET_SOCKET_CLIENT_SOCKET_POOL_MANAGER_H_ |
OLD | NEW |