Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: net/socket/ssl_client_socket_pool.cc

Issue 8825014: Revert 113300 - Revert of 112134 of Revert 112130 - Close idle connections / SPDY sessions when n... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « net/socket/ssl_client_socket_pool.h ('k') | net/socket/transport_client_socket_pool.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/metrics/field_trial.h" 7 #include "base/metrics/field_trial.h"
8 #include "base/metrics/histogram.h" 8 #include "base/metrics/histogram.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "net/base/net_errors.h" 10 #include "net/base/net_errors.h"
(...skipping 459 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 SSLClientSocketContext( 470 SSLClientSocketContext(
471 cert_verifier, 471 cert_verifier,
472 origin_bound_cert_service, 472 origin_bound_cert_service,
473 dnsrr_resolver, 473 dnsrr_resolver,
474 dns_cert_checker, 474 dns_cert_checker,
475 ssl_host_info_factory), 475 ssl_host_info_factory),
476 net_log)), 476 net_log)),
477 ssl_config_service_(ssl_config_service) { 477 ssl_config_service_(ssl_config_service) {
478 if (ssl_config_service_) 478 if (ssl_config_service_)
479 ssl_config_service_->AddObserver(this); 479 ssl_config_service_->AddObserver(this);
480 if (transport_pool_)
481 transport_pool_->AddLayeredPool(this);
482 if (socks_pool_)
483 socks_pool_->AddLayeredPool(this);
484 if (http_proxy_pool_)
485 http_proxy_pool_->AddLayeredPool(this);
486 } 480 }
487 481
488 SSLClientSocketPool::~SSLClientSocketPool() { 482 SSLClientSocketPool::~SSLClientSocketPool() {
489 if (http_proxy_pool_)
490 http_proxy_pool_->RemoveLayeredPool(this);
491 if (socks_pool_)
492 socks_pool_->RemoveLayeredPool(this);
493 if (transport_pool_)
494 transport_pool_->RemoveLayeredPool(this);
495 if (ssl_config_service_) 483 if (ssl_config_service_)
496 ssl_config_service_->RemoveObserver(this); 484 ssl_config_service_->RemoveObserver(this);
497 } 485 }
498 486
499 ConnectJob* SSLClientSocketPool::SSLConnectJobFactory::NewConnectJob( 487 ConnectJob* SSLClientSocketPool::SSLConnectJobFactory::NewConnectJob(
500 const std::string& group_name, 488 const std::string& group_name,
501 const PoolBase::Request& request, 489 const PoolBase::Request& request,
502 ConnectJob::Delegate* delegate) const { 490 ConnectJob::Delegate* delegate) const {
503 return new SSLConnectJob(group_name, request.params(), ConnectionTimeout(), 491 return new SSLConnectJob(group_name, request.params(), ConnectionTimeout(),
504 transport_pool_, socks_pool_, http_proxy_pool_, 492 transport_pool_, socks_pool_, http_proxy_pool_,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 525
538 void SSLClientSocketPool::ReleaseSocket(const std::string& group_name, 526 void SSLClientSocketPool::ReleaseSocket(const std::string& group_name,
539 StreamSocket* socket, int id) { 527 StreamSocket* socket, int id) {
540 base_.ReleaseSocket(group_name, socket, id); 528 base_.ReleaseSocket(group_name, socket, id);
541 } 529 }
542 530
543 void SSLClientSocketPool::Flush() { 531 void SSLClientSocketPool::Flush() {
544 base_.Flush(); 532 base_.Flush();
545 } 533 }
546 534
547 bool SSLClientSocketPool::IsStalled() const {
548 return base_.IsStalled() ||
549 (transport_pool_ && transport_pool_->IsStalled()) ||
550 (socks_pool_ && socks_pool_->IsStalled()) ||
551 (http_proxy_pool_ && http_proxy_pool_->IsStalled());
552 }
553
554 void SSLClientSocketPool::CloseIdleSockets() { 535 void SSLClientSocketPool::CloseIdleSockets() {
555 base_.CloseIdleSockets(); 536 base_.CloseIdleSockets();
556 } 537 }
557 538
558 int SSLClientSocketPool::IdleSocketCount() const { 539 int SSLClientSocketPool::IdleSocketCount() const {
559 return base_.idle_socket_count(); 540 return base_.idle_socket_count();
560 } 541 }
561 542
562 int SSLClientSocketPool::IdleSocketCountInGroup( 543 int SSLClientSocketPool::IdleSocketCountInGroup(
563 const std::string& group_name) const { 544 const std::string& group_name) const {
564 return base_.IdleSocketCountInGroup(group_name); 545 return base_.IdleSocketCountInGroup(group_name);
565 } 546 }
566 547
567 LoadState SSLClientSocketPool::GetLoadState( 548 LoadState SSLClientSocketPool::GetLoadState(
568 const std::string& group_name, const ClientSocketHandle* handle) const { 549 const std::string& group_name, const ClientSocketHandle* handle) const {
569 return base_.GetLoadState(group_name, handle); 550 return base_.GetLoadState(group_name, handle);
570 } 551 }
571 552
572 void SSLClientSocketPool::AddLayeredPool(LayeredPool* layered_pool) {
573 base_.AddLayeredPool(layered_pool);
574 }
575
576 void SSLClientSocketPool::RemoveLayeredPool(LayeredPool* layered_pool) {
577 base_.RemoveLayeredPool(layered_pool);
578 }
579
580 DictionaryValue* SSLClientSocketPool::GetInfoAsValue( 553 DictionaryValue* SSLClientSocketPool::GetInfoAsValue(
581 const std::string& name, 554 const std::string& name,
582 const std::string& type, 555 const std::string& type,
583 bool include_nested_pools) const { 556 bool include_nested_pools) const {
584 DictionaryValue* dict = base_.GetInfoAsValue(name, type); 557 DictionaryValue* dict = base_.GetInfoAsValue(name, type);
585 if (include_nested_pools) { 558 if (include_nested_pools) {
586 ListValue* list = new ListValue(); 559 ListValue* list = new ListValue();
587 if (transport_pool_) { 560 if (transport_pool_) {
588 list->Append(transport_pool_->GetInfoAsValue("transport_socket_pool", 561 list->Append(transport_pool_->GetInfoAsValue("transport_socket_pool",
589 "transport_socket_pool", 562 "transport_socket_pool",
(...skipping 19 matching lines...) Expand all
609 } 582 }
610 583
611 ClientSocketPoolHistograms* SSLClientSocketPool::histograms() const { 584 ClientSocketPoolHistograms* SSLClientSocketPool::histograms() const {
612 return base_.histograms(); 585 return base_.histograms();
613 } 586 }
614 587
615 void SSLClientSocketPool::OnSSLConfigChanged() { 588 void SSLClientSocketPool::OnSSLConfigChanged() {
616 Flush(); 589 Flush();
617 } 590 }
618 591
619 bool SSLClientSocketPool::CloseOneIdleConnection() {
620 if (base_.CloseOneIdleSocket())
621 return true;
622 return base_.CloseOneIdleConnectionInLayeredPool();
623 }
624
625 } // namespace net 592 } // namespace net
OLDNEW
« no previous file with comments | « net/socket/ssl_client_socket_pool.h ('k') | net/socket/transport_client_socket_pool.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698