Chromium Code Reviews| Index: net/socket/client_socket_pool_base.cc |
| diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc |
| index 9e1abf482a5b6180abfa57031fe2cf80c5376a3c..1be0f642a9794d882f943c7ad82b8ee11825d915 100644 |
| --- a/net/socket/client_socket_pool_base.cc |
| +++ b/net/socket/client_socket_pool_base.cc |
| @@ -15,6 +15,7 @@ |
| #include "base/values.h" |
| #include "net/base/net_errors.h" |
| #include "net/base/net_log.h" |
| +#include "net/socket/ssl_client_socket_pool.h" |
| using base::TimeDelta; |
| @@ -543,6 +544,14 @@ bool ClientSocketPoolBaseHelper::HasGroup(const std::string& group_name) const { |
| return ContainsKey(group_map_, group_name); |
| } |
| +void ClientSocketPoolBaseHelper::RemoveMessengersFromGroup( |
| + const std::string& group_name, |
| + const std::string& cache_key) const { |
| + GroupMap::const_iterator it = group_map_.find(group_name); |
| + if (it != group_map_.end()) |
| + it->second->RemoveMessengers(cache_key); |
| +} |
| + |
| void ClientSocketPoolBaseHelper::CloseIdleSockets() { |
| CleanupIdleSockets(true); |
| DCHECK_EQ(0, idle_socket_count_); |
| @@ -1258,6 +1267,15 @@ void ClientSocketPoolBaseHelper::Group::RemoveAllJobs() { |
| backup_job_timer_.Stop(); |
| } |
| +void ClientSocketPoolBaseHelper::Group::RemoveMessengers( |
| + const std::string& cache_key) { |
| + for (std::set<ConnectJob*>::iterator it = jobs_.begin(); it != jobs_.end(); |
| + ++it) { |
| + SSLConnectJob* job = static_cast<SSLConnectJob*>(*it); |
|
Ryan Sleevi
2014/08/12 00:27:42
This is definitely a layering violation
(It's a c
mshelley
2014/08/12 21:47:00
Done.
|
| + job->RemoveMessenger(cache_key); |
| + } |
| +} |
| + |
| const ClientSocketPoolBaseHelper::Request* |
| ClientSocketPoolBaseHelper::Group::GetNextPendingRequest() const { |
| return |