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 |