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 26348cbb7afacbc70b9c524357087b3507ef97be..c1a5941d4f8c58d7ad8b326bc50f18375751f9bf 100644 |
--- a/net/socket/client_socket_pool_manager_impl.cc |
+++ b/net/socket/client_socket_pool_manager_impl.cc |
@@ -154,52 +154,60 @@ void ClientSocketPoolManagerImpl::FlushSocketPoolsWithError(int error) { |
void ClientSocketPoolManagerImpl::CloseIdleSockets() { |
// Close sockets in the highest level pools first, since higher level pools' |
// sockets may release stuff to the lower level pools. |
davidben
2017/03/02 22:00:51
Nit: it => pool or pair or something? (With a loop
xunjieli
2017/03/02 23:04:00
Acknowledged. No longer apply :)
|
- for (SSLSocketPoolMap::const_iterator it = |
- ssl_socket_pools_for_proxies_.begin(); |
- it != ssl_socket_pools_for_proxies_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : ssl_socket_pools_for_proxies_) |
+ it.second->CloseIdleSockets(); |
- for (HTTPProxySocketPoolMap::const_iterator it = |
- http_proxy_socket_pools_.begin(); |
- it != http_proxy_socket_pools_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : http_proxy_socket_pools_) |
+ it.second->CloseIdleSockets(); |
- for (SSLSocketPoolMap::const_iterator it = |
- ssl_socket_pools_for_https_proxies_.begin(); |
- it != ssl_socket_pools_for_https_proxies_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : ssl_socket_pools_for_https_proxies_) |
+ it.second->CloseIdleSockets(); |
- for (TransportSocketPoolMap::const_iterator it = |
- transport_socket_pools_for_https_proxies_.begin(); |
- it != transport_socket_pools_for_https_proxies_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : transport_socket_pools_for_https_proxies_) |
+ it.second->CloseIdleSockets(); |
- for (TransportSocketPoolMap::const_iterator it = |
- transport_socket_pools_for_http_proxies_.begin(); |
- it != transport_socket_pools_for_http_proxies_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : transport_socket_pools_for_http_proxies_) |
+ it.second->CloseIdleSockets(); |
- for (SOCKSSocketPoolMap::const_iterator it = |
- socks_socket_pools_.begin(); |
- it != socks_socket_pools_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : socks_socket_pools_) |
+ it.second->CloseIdleSockets(); |
- for (TransportSocketPoolMap::const_iterator it = |
- transport_socket_pools_for_socks_proxies_.begin(); |
- it != transport_socket_pools_for_socks_proxies_.end(); |
- ++it) |
- it->second->CloseIdleSockets(); |
+ for (const auto& it : transport_socket_pools_for_socks_proxies_) |
+ it.second->CloseIdleSockets(); |
ssl_socket_pool_->CloseIdleSockets(); |
transport_socket_pool_->CloseIdleSockets(); |
} |
+void ClientSocketPoolManagerImpl::CloseIdleSocketsInGroup( |
+ const std::string& group_name) { |
davidben
2017/03/02 22:00:51
This will close idle sockets with the same group n
xunjieli
2017/03/02 23:04:00
That's very neat! Done. Thanks for the suggestion.
|
+ // Close sockets in the highest level pools first, since higher level pools' |
+ // sockets may release stuff to the lower level pools. |
+ for (const auto& it : ssl_socket_pools_for_proxies_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : http_proxy_socket_pools_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : ssl_socket_pools_for_https_proxies_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : transport_socket_pools_for_https_proxies_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : transport_socket_pools_for_http_proxies_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : socks_socket_pools_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ for (const auto& it : transport_socket_pools_for_socks_proxies_) |
+ it.second->CloseIdleSocketsInGroup(group_name); |
+ |
+ ssl_socket_pool_->CloseIdleSocketsInGroup(group_name); |
+ transport_socket_pool_->CloseIdleSocketsInGroup(group_name); |
+} |
+ |
TransportClientSocketPool* |
ClientSocketPoolManagerImpl::GetTransportSocketPool() { |
return transport_socket_pool_.get(); |