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

Unified Diff: net/socket/ssl_client_socket_pool.cc

Issue 18796003: When an idle socket is added back to a socket pool, check for stalled jobs in lower pools (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Update comments Created 7 years, 4 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
« no previous file with comments | « net/socket/ssl_client_socket_pool.h ('k') | net/socket/transport_client_socket_pool.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/socket/ssl_client_socket_pool.cc
===================================================================
--- net/socket/ssl_client_socket_pool.cc (revision 219027)
+++ net/socket/ssl_client_socket_pool.cc (working copy)
@@ -516,7 +516,7 @@
: transport_pool_(transport_pool),
socks_pool_(socks_pool),
http_proxy_pool_(http_proxy_pool),
- base_(max_sockets, max_sockets_per_group, histograms,
+ base_(this, max_sockets, max_sockets_per_group, histograms,
ClientSocketPool::unused_idle_socket_timeout(),
ClientSocketPool::used_idle_socket_timeout(),
new SSLConnectJobFactory(transport_pool,
@@ -534,20 +534,14 @@
if (ssl_config_service_.get())
ssl_config_service_->AddObserver(this);
if (transport_pool_)
- transport_pool_->AddLayeredPool(this);
+ base_.AddLowerLayeredPool(transport_pool_);
if (socks_pool_)
- socks_pool_->AddLayeredPool(this);
+ base_.AddLowerLayeredPool(socks_pool_);
if (http_proxy_pool_)
- http_proxy_pool_->AddLayeredPool(this);
+ base_.AddLowerLayeredPool(http_proxy_pool_);
}
SSLClientSocketPool::~SSLClientSocketPool() {
- if (http_proxy_pool_)
- http_proxy_pool_->RemoveLayeredPool(this);
- if (socks_pool_)
- socks_pool_->RemoveLayeredPool(this);
- if (transport_pool_)
- transport_pool_->RemoveLayeredPool(this);
if (ssl_config_service_.get())
ssl_config_service_->RemoveObserver(this);
}
@@ -608,13 +602,6 @@
base_.FlushWithError(error);
}
-bool SSLClientSocketPool::IsStalled() const {
- return base_.IsStalled() ||
- (transport_pool_ && transport_pool_->IsStalled()) ||
- (socks_pool_ && socks_pool_->IsStalled()) ||
- (http_proxy_pool_ && http_proxy_pool_->IsStalled());
-}
-
void SSLClientSocketPool::CloseIdleSockets() {
base_.CloseIdleSockets();
}
@@ -633,14 +620,6 @@
return base_.GetLoadState(group_name, handle);
}
-void SSLClientSocketPool::AddLayeredPool(LayeredPool* layered_pool) {
- base_.AddLayeredPool(layered_pool);
-}
-
-void SSLClientSocketPool::RemoveLayeredPool(LayeredPool* layered_pool) {
- base_.RemoveLayeredPool(layered_pool);
-}
-
base::DictionaryValue* SSLClientSocketPool::GetInfoAsValue(
const std::string& name,
const std::string& type,
@@ -676,14 +655,27 @@
return base_.histograms();
}
-void SSLClientSocketPool::OnSSLConfigChanged() {
- FlushWithError(ERR_NETWORK_CHANGED);
+bool SSLClientSocketPool::IsStalled() const {
+ return base_.IsStalled();
}
+void SSLClientSocketPool::AddHigherLayeredPool(HigherLayeredPool* higher_pool) {
+ base_.AddHigherLayeredPool(higher_pool);
+}
+
+void SSLClientSocketPool::RemoveHigherLayeredPool(
+ HigherLayeredPool* higher_pool) {
+ base_.RemoveHigherLayeredPool(higher_pool);
+}
+
bool SSLClientSocketPool::CloseOneIdleConnection() {
if (base_.CloseOneIdleSocket())
return true;
- return base_.CloseOneIdleConnectionInLayeredPool();
+ return base_.CloseOneIdleConnectionInHigherLayeredPool();
}
+void SSLClientSocketPool::OnSSLConfigChanged() {
+ FlushWithError(ERR_NETWORK_CHANGED);
+}
+
} // namespace net
« no previous file with comments | « net/socket/ssl_client_socket_pool.h ('k') | net/socket/transport_client_socket_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698