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 4a76913b7a44fe1e126f344eac9c38163f3987dd..96d03996860a8afe11ed59c8f5aeda76fadaab7d 100644 |
| --- a/net/socket/client_socket_pool_base.cc |
| +++ b/net/socket/client_socket_pool_base.cc |
| @@ -53,11 +53,13 @@ bool g_connect_backup_jobs_enabled = true; |
| ConnectJob::ConnectJob(const std::string& group_name, |
| base::TimeDelta timeout_duration, |
| RequestPriority priority, |
| + ClientSocketPool::IgnoreLimits ignore_limits, |
| Delegate* delegate, |
| const BoundNetLog& net_log) |
| : group_name_(group_name), |
| timeout_duration_(timeout_duration), |
| priority_(priority), |
| + ignore_limits_(ignore_limits), |
| delegate_(delegate), |
| net_log_(net_log), |
| idle_(true) { |
| @@ -141,7 +143,7 @@ ClientSocketPoolBaseHelper::Request::Request( |
| ClientSocketHandle* handle, |
| const CompletionCallback& callback, |
| RequestPriority priority, |
| - bool ignore_limits, |
| + ClientSocketPool::IgnoreLimits ignore_limits, |
| Flags flags, |
| const BoundNetLog& net_log) |
| : handle_(handle), |
| @@ -150,7 +152,7 @@ ClientSocketPoolBaseHelper::Request::Request( |
| ignore_limits_(ignore_limits), |
| flags_(flags), |
| net_log_(net_log) { |
| - if (ignore_limits_) |
| + if (ignore_limits_ == ClientSocketPool::IgnoreLimits::ENABLED) |
| DCHECK_EQ(priority_, MAXIMUM_PRIORITY); |
| } |
| @@ -378,7 +380,7 @@ int ClientSocketPoolBaseHelper::RequestSocketInternal( |
| // Can we make another active socket now? |
| if (!group->HasAvailableSocketSlot(max_sockets_per_group_) && |
| - !request.ignore_limits()) { |
| + request.ignore_limits() == ClientSocketPool::IgnoreLimits::DISABLED) { |
| // TODO(willchan): Consider whether or not we need to close a socket in a |
| // higher layered group. I don't think this makes sense since we would just |
| // reuse that socket then if we needed one and wouldn't make it down to this |
| @@ -388,7 +390,8 @@ int ClientSocketPoolBaseHelper::RequestSocketInternal( |
| return ERR_IO_PENDING; |
| } |
| - if (ReachedMaxSocketsLimit() && !request.ignore_limits()) { |
| + if (ReachedMaxSocketsLimit() && |
| + request.ignore_limits() == ClientSocketPool::IgnoreLimits::DISABLED) { |
|
eroman
2016/01/27 20:15:13
Perhaps there aren't enough callers, but could cre
mmenke
2016/01/27 20:37:27
Too bad enum classes can't have methods. Think it
eroman
2016/01/27 20:40:21
ok
|
| // NOTE(mmenke): Wonder if we really need different code for each case |
| // here. Only reason for them now seems to be preconnects. |
| if (idle_socket_count() > 0) { |
| @@ -1302,7 +1305,7 @@ void ClientSocketPoolBaseHelper::Group::InsertPendingRequest( |
| scoped_ptr<const Request> request) { |
| // This value must be cached before we release |request|. |
| RequestPriority priority = request->priority(); |
| - if (request->ignore_limits()) { |
| + if (request->ignore_limits() == ClientSocketPool::IgnoreLimits::ENABLED) { |
| // Put requests with ignore_limits == true (which should have |
| // priority == MAXIMUM_PRIORITY) ahead of other requests with |
| // MAXIMUM_PRIORITY. |