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/socket/ssl_client_socket_pool.h" | 5 #include "net/socket/ssl_client_socket_pool.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/metrics/field_trial.h" | 9 #include "base/metrics/field_trial.h" |
10 #include "base/metrics/histogram.h" | 10 #include "base/metrics/histogram.h" |
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 timeout_ = max_transport_timeout + | 498 timeout_ = max_transport_timeout + |
499 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); | 499 base::TimeDelta::FromSeconds(kSSLHandshakeTimeoutInSeconds); |
500 } | 500 } |
501 | 501 |
502 SSLClientSocketPool::SSLConnectJobFactory::~SSLConnectJobFactory() { | 502 SSLClientSocketPool::SSLConnectJobFactory::~SSLConnectJobFactory() { |
503 } | 503 } |
504 | 504 |
505 SSLClientSocketPool::SSLClientSocketPool( | 505 SSLClientSocketPool::SSLClientSocketPool( |
506 int max_sockets, | 506 int max_sockets, |
507 int max_sockets_per_group, | 507 int max_sockets_per_group, |
508 ClientSocketPoolHistograms* histograms, | |
509 CertVerifier* cert_verifier, | 508 CertVerifier* cert_verifier, |
510 ChannelIDService* channel_id_service, | 509 ChannelIDService* channel_id_service, |
511 TransportSecurityState* transport_security_state, | 510 TransportSecurityState* transport_security_state, |
512 CTVerifier* cert_transparency_verifier, | 511 CTVerifier* cert_transparency_verifier, |
513 CertPolicyEnforcer* cert_policy_enforcer, | 512 CertPolicyEnforcer* cert_policy_enforcer, |
514 const std::string& ssl_session_cache_shard, | 513 const std::string& ssl_session_cache_shard, |
515 ClientSocketFactory* client_socket_factory, | 514 ClientSocketFactory* client_socket_factory, |
516 TransportClientSocketPool* transport_pool, | 515 TransportClientSocketPool* transport_pool, |
517 SOCKSClientSocketPool* socks_pool, | 516 SOCKSClientSocketPool* socks_pool, |
518 HttpProxyClientSocketPool* http_proxy_pool, | 517 HttpProxyClientSocketPool* http_proxy_pool, |
519 SSLConfigService* ssl_config_service, | 518 SSLConfigService* ssl_config_service, |
520 NetLog* net_log) | 519 NetLog* net_log) |
521 : transport_pool_(transport_pool), | 520 : transport_pool_(transport_pool), |
522 socks_pool_(socks_pool), | 521 socks_pool_(socks_pool), |
523 http_proxy_pool_(http_proxy_pool), | 522 http_proxy_pool_(http_proxy_pool), |
524 base_(this, | 523 base_(this, |
525 max_sockets, | 524 max_sockets, |
526 max_sockets_per_group, | 525 max_sockets_per_group, |
527 histograms, | |
528 ClientSocketPool::unused_idle_socket_timeout(), | 526 ClientSocketPool::unused_idle_socket_timeout(), |
529 ClientSocketPool::used_idle_socket_timeout(), | 527 ClientSocketPool::used_idle_socket_timeout(), |
530 new SSLConnectJobFactory( | 528 new SSLConnectJobFactory( |
531 transport_pool, | 529 transport_pool, |
532 socks_pool, | 530 socks_pool, |
533 http_proxy_pool, | 531 http_proxy_pool, |
534 client_socket_factory, | 532 client_socket_factory, |
535 SSLClientSocketContext(cert_verifier, | 533 SSLClientSocketContext(cert_verifier, |
536 channel_id_service, | 534 channel_id_service, |
537 transport_security_state, | 535 transport_security_state, |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
658 } | 656 } |
659 dict->Set("nested_pools", list); | 657 dict->Set("nested_pools", list); |
660 } | 658 } |
661 return dict; | 659 return dict; |
662 } | 660 } |
663 | 661 |
664 base::TimeDelta SSLClientSocketPool::ConnectionTimeout() const { | 662 base::TimeDelta SSLClientSocketPool::ConnectionTimeout() const { |
665 return base_.ConnectionTimeout(); | 663 return base_.ConnectionTimeout(); |
666 } | 664 } |
667 | 665 |
668 ClientSocketPoolHistograms* SSLClientSocketPool::histograms() const { | |
669 return base_.histograms(); | |
670 } | |
671 | |
672 bool SSLClientSocketPool::IsStalled() const { | 666 bool SSLClientSocketPool::IsStalled() const { |
673 return base_.IsStalled(); | 667 return base_.IsStalled(); |
674 } | 668 } |
675 | 669 |
676 void SSLClientSocketPool::AddHigherLayeredPool(HigherLayeredPool* higher_pool) { | 670 void SSLClientSocketPool::AddHigherLayeredPool(HigherLayeredPool* higher_pool) { |
677 base_.AddHigherLayeredPool(higher_pool); | 671 base_.AddHigherLayeredPool(higher_pool); |
678 } | 672 } |
679 | 673 |
680 void SSLClientSocketPool::RemoveHigherLayeredPool( | 674 void SSLClientSocketPool::RemoveHigherLayeredPool( |
681 HigherLayeredPool* higher_pool) { | 675 HigherLayeredPool* higher_pool) { |
682 base_.RemoveHigherLayeredPool(higher_pool); | 676 base_.RemoveHigherLayeredPool(higher_pool); |
683 } | 677 } |
684 | 678 |
685 bool SSLClientSocketPool::CloseOneIdleConnection() { | 679 bool SSLClientSocketPool::CloseOneIdleConnection() { |
686 if (base_.CloseOneIdleSocket()) | 680 if (base_.CloseOneIdleSocket()) |
687 return true; | 681 return true; |
688 return base_.CloseOneIdleConnectionInHigherLayeredPool(); | 682 return base_.CloseOneIdleConnectionInHigherLayeredPool(); |
689 } | 683 } |
690 | 684 |
691 void SSLClientSocketPool::OnSSLConfigChanged() { | 685 void SSLClientSocketPool::OnSSLConfigChanged() { |
692 FlushWithError(ERR_NETWORK_CHANGED); | 686 FlushWithError(ERR_NETWORK_CHANGED); |
693 } | 687 } |
694 | 688 |
695 } // namespace net | 689 } // namespace net |
OLD | NEW |