Chromium Code Reviews| Index: net/socket/ssl_client_socket_pool.cc |
| diff --git a/net/socket/ssl_client_socket_pool.cc b/net/socket/ssl_client_socket_pool.cc |
| index a924b5a891657e077bc6be927011c2ff21c66dc7..41595732728041446ab26e8718c29e283c098022 100644 |
| --- a/net/socket/ssl_client_socket_pool.cc |
| +++ b/net/socket/ssl_client_socket_pool.cc |
| @@ -476,9 +476,21 @@ SSLClientSocketPool::SSLClientSocketPool( |
| ssl_config_service_(ssl_config_service) { |
| if (ssl_config_service_) |
| ssl_config_service_->AddObserver(this); |
| + if (transport_pool_) |
| + transport_pool_->AddLayeredPool(this); |
| + if (socks_pool_) |
| + socks_pool_->AddLayeredPool(this); |
| + if (http_proxy_pool_) |
| + http_proxy_pool_->AddLayeredPool(this); |
| } |
| 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_) |
| ssl_config_service_->RemoveObserver(this); |
| } |
| @@ -531,6 +543,13 @@ void SSLClientSocketPool::Flush() { |
| base_.Flush(); |
| } |
| +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(); |
| } |
| @@ -549,6 +568,14 @@ LoadState SSLClientSocketPool::GetLoadState( |
| 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); |
| +} |
| + |
| DictionaryValue* SSLClientSocketPool::GetInfoAsValue( |
| const std::string& name, |
| const std::string& type, |
| @@ -588,4 +615,10 @@ void SSLClientSocketPool::OnSSLConfigChanged() { |
| Flush(); |
| } |
| +bool SSLClientSocketPool::CloseOneIdleConnection() { |
|
mmenke
2011/10/27 18:52:37
Since you duplicate this code 3 or 4 times, and ne
willchan no longer on Chromium
2011/11/08 22:26:13
Since it's just 3 lines done in 3 places, I'm goin
|
| + if (base_.CloseOneIdleSocket()) |
| + return true; |
| + return base_.CloseOneIdleConnectionInLayeredPool(); |
| +} |
| + |
| } // namespace net |