OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/socket/websocket_transport_client_socket_pool.h" | 5 #include "net/socket/websocket_transport_client_socket_pool.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 OnSubJobComplete(result, ipv4_job_.get()); | 222 OnSubJobComplete(result, ipv4_job_.get()); |
223 } | 223 } |
224 | 224 |
225 int WebSocketTransportConnectJob::ConnectInternal() { | 225 int WebSocketTransportConnectJob::ConnectInternal() { |
226 return helper_.DoConnectInternal(this); | 226 return helper_.DoConnectInternal(this); |
227 } | 227 } |
228 | 228 |
229 WebSocketTransportClientSocketPool::WebSocketTransportClientSocketPool( | 229 WebSocketTransportClientSocketPool::WebSocketTransportClientSocketPool( |
230 int max_sockets, | 230 int max_sockets, |
231 int max_sockets_per_group, | 231 int max_sockets_per_group, |
232 ClientSocketPoolHistograms* histograms, | |
233 HostResolver* host_resolver, | 232 HostResolver* host_resolver, |
234 ClientSocketFactory* client_socket_factory, | 233 ClientSocketFactory* client_socket_factory, |
235 NetLog* net_log) | 234 NetLog* net_log) |
236 : TransportClientSocketPool(max_sockets, | 235 : TransportClientSocketPool(max_sockets, |
237 max_sockets_per_group, | 236 max_sockets_per_group, |
238 histograms, | |
239 host_resolver, | 237 host_resolver, |
240 client_socket_factory, | 238 client_socket_factory, |
241 net_log), | 239 net_log), |
242 connect_job_delegate_(this), | 240 connect_job_delegate_(this), |
243 histograms_(histograms), | |
244 pool_net_log_(net_log), | 241 pool_net_log_(net_log), |
245 client_socket_factory_(client_socket_factory), | 242 client_socket_factory_(client_socket_factory), |
246 host_resolver_(host_resolver), | 243 host_resolver_(host_resolver), |
247 max_sockets_(max_sockets), | 244 max_sockets_(max_sockets), |
248 handed_out_socket_count_(0), | 245 handed_out_socket_count_(0), |
249 flushing_(false), | 246 flushing_(false), |
250 weak_factory_(this) {} | 247 weak_factory_(this) {} |
251 | 248 |
252 WebSocketTransportClientSocketPool::~WebSocketTransportClientSocketPool() { | 249 WebSocketTransportClientSocketPool::~WebSocketTransportClientSocketPool() { |
253 // Clean up any pending connect jobs. | 250 // Clean up any pending connect jobs. |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 dict->SetInteger("max_socket_count", max_sockets_); | 446 dict->SetInteger("max_socket_count", max_sockets_); |
450 dict->SetInteger("max_sockets_per_group", max_sockets_); | 447 dict->SetInteger("max_sockets_per_group", max_sockets_); |
451 dict->SetInteger("pool_generation_number", 0); | 448 dict->SetInteger("pool_generation_number", 0); |
452 return dict; | 449 return dict; |
453 } | 450 } |
454 | 451 |
455 TimeDelta WebSocketTransportClientSocketPool::ConnectionTimeout() const { | 452 TimeDelta WebSocketTransportClientSocketPool::ConnectionTimeout() const { |
456 return TimeDelta::FromSeconds(kTransportConnectJobTimeoutInSeconds); | 453 return TimeDelta::FromSeconds(kTransportConnectJobTimeoutInSeconds); |
457 } | 454 } |
458 | 455 |
459 ClientSocketPoolHistograms* WebSocketTransportClientSocketPool::histograms() | |
460 const { | |
461 return histograms_; | |
462 } | |
463 | |
464 bool WebSocketTransportClientSocketPool::IsStalled() const { | 456 bool WebSocketTransportClientSocketPool::IsStalled() const { |
465 return !stalled_request_queue_.empty(); | 457 return !stalled_request_queue_.empty(); |
466 } | 458 } |
467 | 459 |
468 void WebSocketTransportClientSocketPool::OnConnectJobComplete( | 460 void WebSocketTransportClientSocketPool::OnConnectJobComplete( |
469 int result, | 461 int result, |
470 WebSocketTransportConnectJob* job) { | 462 WebSocketTransportConnectJob* job) { |
471 DCHECK_NE(ERR_IO_PENDING, result); | 463 DCHECK_NE(ERR_IO_PENDING, result); |
472 | 464 |
473 scoped_ptr<StreamSocket> socket = job->PassSocket(); | 465 scoped_ptr<StreamSocket> socket = job->PassSocket(); |
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 const BoundNetLog& net_log) | 640 const BoundNetLog& net_log) |
649 : params(params), | 641 : params(params), |
650 priority(priority), | 642 priority(priority), |
651 handle(handle), | 643 handle(handle), |
652 callback(callback), | 644 callback(callback), |
653 net_log(net_log) {} | 645 net_log(net_log) {} |
654 | 646 |
655 WebSocketTransportClientSocketPool::StalledRequest::~StalledRequest() {} | 647 WebSocketTransportClientSocketPool::StalledRequest::~StalledRequest() {} |
656 | 648 |
657 } // namespace net | 649 } // namespace net |
OLD | NEW |