Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Unified Diff: net/socket/client_socket_pool_manager_impl.cc

Issue 353713005: Implements new, more robust design for communicating between SSLConnectJobs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added a new state to SSLClientSocket Connect, fixed various comment issues. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/socket/client_socket_pool_manager_impl.cc
diff --git a/net/socket/client_socket_pool_manager_impl.cc b/net/socket/client_socket_pool_manager_impl.cc
index 991278d7341c55bb758be8a88c70b7903c1d81c8..9853319154d1ee18f293a7ddcdd4231c5ba3c32c 100644
--- a/net/socket/client_socket_pool_manager_impl.cc
+++ b/net/socket/client_socket_pool_manager_impl.cc
@@ -44,6 +44,7 @@ ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl(
const std::string& ssl_session_cache_shard,
ProxyService* proxy_service,
SSLConfigService* ssl_config_service,
+ bool enable_ssl_connect_job_waiting,
HttpNetworkSession::SocketPoolType pool_type)
: net_log_(net_log),
socket_factory_(socket_factory),
@@ -55,30 +56,33 @@ ClientSocketPoolManagerImpl::ClientSocketPoolManagerImpl(
ssl_session_cache_shard_(ssl_session_cache_shard),
proxy_service_(proxy_service),
ssl_config_service_(ssl_config_service),
+ enable_ssl_connect_job_waiting_(enable_ssl_connect_job_waiting),
pool_type_(pool_type),
transport_pool_histograms_("TCP"),
- transport_socket_pool_(new TransportClientSocketPool(
- max_sockets_per_pool(pool_type), max_sockets_per_group(pool_type),
- &transport_pool_histograms_,
- host_resolver,
- socket_factory_,
- net_log)),
+ transport_socket_pool_(
+ new TransportClientSocketPool(max_sockets_per_pool(pool_type),
+ max_sockets_per_group(pool_type),
+ &transport_pool_histograms_,
+ host_resolver,
+ socket_factory_,
+ net_log)),
ssl_pool_histograms_("SSL2"),
- ssl_socket_pool_(new SSLClientSocketPool(
- max_sockets_per_pool(pool_type), max_sockets_per_group(pool_type),
- &ssl_pool_histograms_,
- host_resolver,
- cert_verifier,
- server_bound_cert_service,
- transport_security_state,
- cert_transparency_verifier,
- ssl_session_cache_shard,
- socket_factory,
- transport_socket_pool_.get(),
- NULL /* no socks proxy */,
- NULL /* no http proxy */,
- ssl_config_service,
- net_log)),
+ ssl_socket_pool_(new SSLClientSocketPool(max_sockets_per_pool(pool_type),
+ max_sockets_per_group(pool_type),
+ &ssl_pool_histograms_,
+ host_resolver,
+ cert_verifier,
+ server_bound_cert_service,
+ transport_security_state,
+ cert_transparency_verifier,
+ ssl_session_cache_shard,
+ socket_factory,
+ transport_socket_pool_.get(),
+ NULL /* no socks proxy */,
+ NULL /* no http proxy */,
+ ssl_config_service,
+ enable_ssl_connect_job_waiting,
+ net_log)),
transport_for_socks_pool_histograms_("TCPforSOCKS"),
socks_pool_histograms_("SOCK"),
transport_for_http_proxy_pool_histograms_("TCPforHTTPProxy"),
@@ -296,6 +300,7 @@ ClientSocketPoolManagerImpl::GetSocketPoolForHTTPProxy(
NULL /* no socks proxy */,
NULL /* no http proxy */,
ssl_config_service_.get(),
+ enable_ssl_connect_job_waiting_,
net_log_)));
DCHECK(tcp_https_ret.second);
@@ -337,6 +342,7 @@ SSLClientSocketPool* ClientSocketPoolManagerImpl::GetSocketPoolForSSLWithProxy(
GetSocketPoolForSOCKSProxy(proxy_server),
GetSocketPoolForHTTPProxy(proxy_server),
ssl_config_service_.get(),
+ enable_ssl_connect_job_waiting_,
net_log_);
std::pair<SSLSocketPoolMap::iterator, bool> ret =

Powered by Google App Engine
This is Rietveld 408576698