Chromium Code Reviews| Index: net/socket/client_socket_handle.cc |
| diff --git a/net/socket/client_socket_handle.cc b/net/socket/client_socket_handle.cc |
| index 8309c3f4d58af3733a3b2cea6ea78277ee2c6d9e..66361b309bac703412b5829b6e64c9f719290083 100644 |
| --- a/net/socket/client_socket_handle.cc |
| +++ b/net/socket/client_socket_handle.cc |
| @@ -15,6 +15,8 @@ namespace net { |
| ClientSocketHandle::ClientSocketHandle() |
| : is_initialized_(false), |
| + pool_(NULL), |
| + layered_pool_(NULL), |
| is_reused_(false), |
| ALLOW_THIS_IN_INITIALIZER_LIST( |
| callback_(this, &ClientSocketHandle::OnIOComplete)), |
| @@ -49,6 +51,10 @@ void ClientSocketHandle::ResetInternal(bool cancel) { |
| group_name_.clear(); |
| is_reused_ = false; |
| user_callback_ = NULL; |
| + if (layered_pool_) { |
| + pool_->RemoveLayeredPool(layered_pool_); |
| + layered_pool_ = NULL; |
| + } |
| pool_ = NULL; |
| idle_time_ = base::TimeDelta(); |
| init_time_ = base::TimeTicks(); |
| @@ -72,6 +78,18 @@ LoadState ClientSocketHandle::GetLoadState() const { |
| return pool_->GetLoadState(group_name_, this); |
| } |
| +bool ClientSocketHandle::IsPoolStalled() const { |
| + return pool_->IsStalled(); |
| +} |
| + |
| +void ClientSocketHandle::AddLayeredPool(LayeredPool* layered_pool) { |
| + CHECK(layered_pool); |
|
mmenke
2011/11/28 17:47:14
nit: Still think we should also have a CHECK(!lay
willchan no longer on Chromium
2011/11/29 23:14:52
Done.
|
| + if (pool_) { |
| + pool_->AddLayeredPool(layered_pool); |
| + layered_pool_ = layered_pool; |
| + } |
| +} |
| + |
| void ClientSocketHandle::OnIOComplete(int result) { |
| OldCompletionCallback* callback = user_callback_; |
| user_callback_ = NULL; |