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 #include "net/socket/client_socket_pool_manager_impl.h" | 5 #include "net/socket/client_socket_pool_manager_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 26 matching lines...) Expand all Loading... |
37 include_nested_pools)); | 37 include_nested_pools)); |
38 } | 38 } |
39 } | 39 } |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl( | 43 ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl( |
44 NetLog* net_log, | 44 NetLog* net_log, |
45 ClientSocketFactory* socket_factory, | 45 ClientSocketFactory* socket_factory, |
46 SocketPerformanceWatcherFactory* socket_performance_watcher_factory, | 46 SocketPerformanceWatcherFactory* socket_performance_watcher_factory, |
| 47 NetworkQualityProvider* network_quality_provider, |
47 HostResolver* host_resolver, | 48 HostResolver* host_resolver, |
48 CertVerifier* cert_verifier, | 49 CertVerifier* cert_verifier, |
49 ChannelIDService* channel_id_service, | 50 ChannelIDService* channel_id_service, |
50 TransportSecurityState* transport_security_state, | 51 TransportSecurityState* transport_security_state, |
51 CTVerifier* cert_transparency_verifier, | 52 CTVerifier* cert_transparency_verifier, |
52 CTPolicyEnforcer* ct_policy_enforcer, | 53 CTPolicyEnforcer* ct_policy_enforcer, |
53 const std::string& ssl_session_cache_shard, | 54 const std::string& ssl_session_cache_shard, |
54 SSLConfigService* ssl_config_service, | 55 SSLConfigService* ssl_config_service, |
55 HttpNetworkSession::SocketPoolType pool_type) | 56 HttpNetworkSession::SocketPoolType pool_type) |
56 : net_log_(net_log), | 57 : net_log_(net_log), |
57 socket_factory_(socket_factory), | 58 socket_factory_(socket_factory), |
58 socket_performance_watcher_factory_(socket_performance_watcher_factory), | 59 socket_performance_watcher_factory_(socket_performance_watcher_factory), |
| 60 network_quality_provider_(network_quality_provider), |
59 host_resolver_(host_resolver), | 61 host_resolver_(host_resolver), |
60 cert_verifier_(cert_verifier), | 62 cert_verifier_(cert_verifier), |
61 channel_id_service_(channel_id_service), | 63 channel_id_service_(channel_id_service), |
62 transport_security_state_(transport_security_state), | 64 transport_security_state_(transport_security_state), |
63 cert_transparency_verifier_(cert_transparency_verifier), | 65 cert_transparency_verifier_(cert_transparency_verifier), |
64 ct_policy_enforcer_(ct_policy_enforcer), | 66 ct_policy_enforcer_(ct_policy_enforcer), |
65 ssl_session_cache_shard_(ssl_session_cache_shard), | 67 ssl_session_cache_shard_(ssl_session_cache_shard), |
66 ssl_config_service_(ssl_config_service), | 68 ssl_config_service_(ssl_config_service), |
67 pool_type_(pool_type), | 69 pool_type_(pool_type), |
68 transport_socket_pool_(pool_type == | 70 transport_socket_pool_(pool_type == |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 tcp_https_ret.first->second.get() /* https proxy */, | 296 tcp_https_ret.first->second.get() /* https proxy */, |
295 nullptr /* no socks proxy */, nullptr /* no http proxy */, | 297 nullptr /* no socks proxy */, nullptr /* no http proxy */, |
296 ssl_config_service_.get(), net_log_))); | 298 ssl_config_service_.get(), net_log_))); |
297 DCHECK(tcp_https_ret.second); | 299 DCHECK(tcp_https_ret.second); |
298 | 300 |
299 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret = | 301 std::pair<HTTPProxySocketPoolMap::iterator, bool> ret = |
300 http_proxy_socket_pools_.insert(std::make_pair( | 302 http_proxy_socket_pools_.insert(std::make_pair( |
301 http_proxy, base::MakeUnique<HttpProxyClientSocketPool>( | 303 http_proxy, base::MakeUnique<HttpProxyClientSocketPool>( |
302 sockets_per_proxy_server, sockets_per_group, | 304 sockets_per_proxy_server, sockets_per_group, |
303 tcp_http_ret.first->second.get(), | 305 tcp_http_ret.first->second.get(), |
304 ssl_https_ret.first->second.get(), net_log_))); | 306 ssl_https_ret.first->second.get(), |
| 307 network_quality_provider_, net_log_))); |
305 | 308 |
306 return ret.first->second.get(); | 309 return ret.first->second.get(); |
307 } | 310 } |
308 | 311 |
309 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy( | 312 SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy( |
310 const HostPortPair& proxy_server) { | 313 const HostPortPair& proxy_server) { |
311 SSLSocketPoolMap::const_iterator it = | 314 SSLSocketPoolMap::const_iterator it = |
312 ssl_socket_pools_for_proxies_.find(proxy_server); | 315 ssl_socket_pools_for_proxies_.find(proxy_server); |
313 if (it != ssl_socket_pools_for_proxies_.end()) | 316 if (it != ssl_socket_pools_for_proxies_.end()) |
314 return it->second.get(); | 317 return it->second.get(); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
361 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED); | 364 FlushSocketPoolsWithError(ERR_NETWORK_CHANGED); |
362 } | 365 } |
363 | 366 |
364 void ClientSocketPoolManagerImpl::DumpMemoryStats( | 367 void ClientSocketPoolManagerImpl::DumpMemoryStats( |
365 base::trace_event::ProcessMemoryDump* pmd, | 368 base::trace_event::ProcessMemoryDump* pmd, |
366 const std::string& parent_dump_absolute_name) const { | 369 const std::string& parent_dump_absolute_name) const { |
367 return ssl_socket_pool_->DumpMemoryStats(pmd, parent_dump_absolute_name); | 370 return ssl_socket_pool_->DumpMemoryStats(pmd, parent_dump_absolute_name); |
368 } | 371 } |
369 | 372 |
370 } // namespace net | 373 } // namespace net |
OLD | NEW |