OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/http/http_proxy_client_socket_pool.h" | 5 #include "net/http/http_proxy_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/time/time.h" | 10 #include "base/time/time.h" |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
433 | 433 |
434 base::TimeDelta | 434 base::TimeDelta |
435 HttpProxyClientSocketPool::HttpProxyConnectJobFactory::ConnectionTimeout( | 435 HttpProxyClientSocketPool::HttpProxyConnectJobFactory::ConnectionTimeout( |
436 ) const { | 436 ) const { |
437 return timeout_; | 437 return timeout_; |
438 } | 438 } |
439 | 439 |
440 HttpProxyClientSocketPool::HttpProxyClientSocketPool( | 440 HttpProxyClientSocketPool::HttpProxyClientSocketPool( |
441 int max_sockets, | 441 int max_sockets, |
442 int max_sockets_per_group, | 442 int max_sockets_per_group, |
443 ClientSocketPoolHistograms* histograms, | |
444 TransportClientSocketPool* transport_pool, | 443 TransportClientSocketPool* transport_pool, |
445 SSLClientSocketPool* ssl_pool, | 444 SSLClientSocketPool* ssl_pool, |
446 NetLog* net_log) | 445 NetLog* net_log) |
447 : transport_pool_(transport_pool), | 446 : transport_pool_(transport_pool), |
448 ssl_pool_(ssl_pool), | 447 ssl_pool_(ssl_pool), |
449 base_(this, max_sockets, max_sockets_per_group, histograms, | 448 base_(this, |
| 449 max_sockets, |
| 450 max_sockets_per_group, |
450 ClientSocketPool::unused_idle_socket_timeout(), | 451 ClientSocketPool::unused_idle_socket_timeout(), |
451 ClientSocketPool::used_idle_socket_timeout(), | 452 ClientSocketPool::used_idle_socket_timeout(), |
452 new HttpProxyConnectJobFactory(transport_pool, | 453 new HttpProxyConnectJobFactory(transport_pool, ssl_pool, net_log)) { |
453 ssl_pool, | |
454 net_log)) { | |
455 // We should always have a |transport_pool_| except in unit tests. | 454 // We should always have a |transport_pool_| except in unit tests. |
456 if (transport_pool_) | 455 if (transport_pool_) |
457 base_.AddLowerLayeredPool(transport_pool_); | 456 base_.AddLowerLayeredPool(transport_pool_); |
458 if (ssl_pool_) | 457 if (ssl_pool_) |
459 base_.AddLowerLayeredPool(ssl_pool_); | 458 base_.AddLowerLayeredPool(ssl_pool_); |
460 } | 459 } |
461 | 460 |
462 HttpProxyClientSocketPool::~HttpProxyClientSocketPool() { | 461 HttpProxyClientSocketPool::~HttpProxyClientSocketPool() { |
463 } | 462 } |
464 | 463 |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 } | 536 } |
538 dict->Set("nested_pools", list); | 537 dict->Set("nested_pools", list); |
539 } | 538 } |
540 return dict; | 539 return dict; |
541 } | 540 } |
542 | 541 |
543 base::TimeDelta HttpProxyClientSocketPool::ConnectionTimeout() const { | 542 base::TimeDelta HttpProxyClientSocketPool::ConnectionTimeout() const { |
544 return base_.ConnectionTimeout(); | 543 return base_.ConnectionTimeout(); |
545 } | 544 } |
546 | 545 |
547 ClientSocketPoolHistograms* HttpProxyClientSocketPool::histograms() const { | |
548 return base_.histograms(); | |
549 } | |
550 | |
551 bool HttpProxyClientSocketPool::IsStalled() const { | 546 bool HttpProxyClientSocketPool::IsStalled() const { |
552 return base_.IsStalled(); | 547 return base_.IsStalled(); |
553 } | 548 } |
554 | 549 |
555 void HttpProxyClientSocketPool::AddHigherLayeredPool( | 550 void HttpProxyClientSocketPool::AddHigherLayeredPool( |
556 HigherLayeredPool* higher_pool) { | 551 HigherLayeredPool* higher_pool) { |
557 base_.AddHigherLayeredPool(higher_pool); | 552 base_.AddHigherLayeredPool(higher_pool); |
558 } | 553 } |
559 | 554 |
560 void HttpProxyClientSocketPool::RemoveHigherLayeredPool( | 555 void HttpProxyClientSocketPool::RemoveHigherLayeredPool( |
561 HigherLayeredPool* higher_pool) { | 556 HigherLayeredPool* higher_pool) { |
562 base_.RemoveHigherLayeredPool(higher_pool); | 557 base_.RemoveHigherLayeredPool(higher_pool); |
563 } | 558 } |
564 | 559 |
565 bool HttpProxyClientSocketPool::CloseOneIdleConnection() { | 560 bool HttpProxyClientSocketPool::CloseOneIdleConnection() { |
566 if (base_.CloseOneIdleSocket()) | 561 if (base_.CloseOneIdleSocket()) |
567 return true; | 562 return true; |
568 return base_.CloseOneIdleConnectionInHigherLayeredPool(); | 563 return base_.CloseOneIdleConnectionInHigherLayeredPool(); |
569 } | 564 } |
570 | 565 |
571 } // namespace net | 566 } // namespace net |
OLD | NEW |