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/transport_client_socket_pool.h" | 5 #include "net/socket/transport_client_socket_pool.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
294 interval_between_connects_ = CONNECT_INTERVAL_LE_10MS; | 294 interval_between_connects_ = CONNECT_INTERVAL_LE_10MS; |
295 else if (interval <= 20) | 295 else if (interval <= 20) |
296 interval_between_connects_ = CONNECT_INTERVAL_LE_20MS; | 296 interval_between_connects_ = CONNECT_INTERVAL_LE_20MS; |
297 else | 297 else |
298 interval_between_connects_ = CONNECT_INTERVAL_GT_20MS; | 298 interval_between_connects_ = CONNECT_INTERVAL_GT_20MS; |
299 } | 299 } |
300 | 300 |
301 helper_.set_next_state( | 301 helper_.set_next_state( |
302 TransportConnectJobHelper::STATE_TRANSPORT_CONNECT_COMPLETE); | 302 TransportConnectJobHelper::STATE_TRANSPORT_CONNECT_COMPLETE); |
303 // Create a |SocketPerformanceWatcher|, and pass the ownership. | 303 // Create a |SocketPerformanceWatcher|, and pass the ownership. |
304 scoped_ptr<SocketPerformanceWatcher> socket_performance_watcher; | 304 std::unique_ptr<SocketPerformanceWatcher> socket_performance_watcher; |
305 if (socket_performance_watcher_factory_) { | 305 if (socket_performance_watcher_factory_) { |
306 socket_performance_watcher = | 306 socket_performance_watcher = |
307 socket_performance_watcher_factory_->CreateSocketPerformanceWatcher( | 307 socket_performance_watcher_factory_->CreateSocketPerformanceWatcher( |
308 SocketPerformanceWatcherFactory::PROTOCOL_TCP); | 308 SocketPerformanceWatcherFactory::PROTOCOL_TCP); |
309 } | 309 } |
310 transport_socket_ = | 310 transport_socket_ = |
311 helper_.client_socket_factory()->CreateTransportClientSocket( | 311 helper_.client_socket_factory()->CreateTransportClientSocket( |
312 helper_.addresses(), std::move(socket_performance_watcher), | 312 helper_.addresses(), std::move(socket_performance_watcher), |
313 net_log().net_log(), net_log().source()); | 313 net_log().net_log(), net_log().source()); |
314 | 314 |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
419 if (helper_.next_state() != | 419 if (helper_.next_state() != |
420 TransportConnectJobHelper::STATE_TRANSPORT_CONNECT_COMPLETE) { | 420 TransportConnectJobHelper::STATE_TRANSPORT_CONNECT_COMPLETE) { |
421 NOTREACHED(); | 421 NOTREACHED(); |
422 return; | 422 return; |
423 } | 423 } |
424 | 424 |
425 DCHECK(!fallback_transport_socket_.get()); | 425 DCHECK(!fallback_transport_socket_.get()); |
426 DCHECK(!fallback_addresses_.get()); | 426 DCHECK(!fallback_addresses_.get()); |
427 | 427 |
428 // Create a |SocketPerformanceWatcher|, and pass the ownership. | 428 // Create a |SocketPerformanceWatcher|, and pass the ownership. |
429 scoped_ptr<SocketPerformanceWatcher> socket_performance_watcher; | 429 std::unique_ptr<SocketPerformanceWatcher> socket_performance_watcher; |
430 if (socket_performance_watcher_factory_) { | 430 if (socket_performance_watcher_factory_) { |
431 socket_performance_watcher = | 431 socket_performance_watcher = |
432 socket_performance_watcher_factory_->CreateSocketPerformanceWatcher( | 432 socket_performance_watcher_factory_->CreateSocketPerformanceWatcher( |
433 SocketPerformanceWatcherFactory::PROTOCOL_TCP); | 433 SocketPerformanceWatcherFactory::PROTOCOL_TCP); |
434 } | 434 } |
435 | 435 |
436 fallback_addresses_.reset(new AddressList(helper_.addresses())); | 436 fallback_addresses_.reset(new AddressList(helper_.addresses())); |
437 MakeAddressListStartWithIPv4(fallback_addresses_.get()); | 437 MakeAddressListStartWithIPv4(fallback_addresses_.get()); |
438 fallback_transport_socket_ = | 438 fallback_transport_socket_ = |
439 helper_.client_socket_factory()->CreateTransportClientSocket( | 439 helper_.client_socket_factory()->CreateTransportClientSocket( |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
498 | 498 |
499 void TransportConnectJob::CopyConnectionAttemptsFromSockets() { | 499 void TransportConnectJob::CopyConnectionAttemptsFromSockets() { |
500 if (transport_socket_) | 500 if (transport_socket_) |
501 transport_socket_->GetConnectionAttempts(&connection_attempts_); | 501 transport_socket_->GetConnectionAttempts(&connection_attempts_); |
502 if (fallback_transport_socket_) { | 502 if (fallback_transport_socket_) { |
503 fallback_transport_socket_->GetConnectionAttempts( | 503 fallback_transport_socket_->GetConnectionAttempts( |
504 &fallback_connection_attempts_); | 504 &fallback_connection_attempts_); |
505 } | 505 } |
506 } | 506 } |
507 | 507 |
508 scoped_ptr<ConnectJob> | 508 std::unique_ptr<ConnectJob> |
509 TransportClientSocketPool::TransportConnectJobFactory::NewConnectJob( | 509 TransportClientSocketPool::TransportConnectJobFactory::NewConnectJob( |
510 const std::string& group_name, | 510 const std::string& group_name, |
511 const PoolBase::Request& request, | 511 const PoolBase::Request& request, |
512 ConnectJob::Delegate* delegate) const { | 512 ConnectJob::Delegate* delegate) const { |
513 return scoped_ptr<ConnectJob>(new TransportConnectJob( | 513 return std::unique_ptr<ConnectJob>(new TransportConnectJob( |
514 group_name, request.priority(), request.respect_limits(), | 514 group_name, request.priority(), request.respect_limits(), |
515 request.params(), ConnectionTimeout(), client_socket_factory_, | 515 request.params(), ConnectionTimeout(), client_socket_factory_, |
516 socket_performance_watcher_factory_, host_resolver_, delegate, net_log_)); | 516 socket_performance_watcher_factory_, host_resolver_, delegate, net_log_)); |
517 } | 517 } |
518 | 518 |
519 base::TimeDelta | 519 base::TimeDelta |
520 TransportClientSocketPool::TransportConnectJobFactory::ConnectionTimeout() | 520 TransportClientSocketPool::TransportConnectJobFactory::ConnectionTimeout() |
521 const { | 521 const { |
522 return base::TimeDelta::FromSeconds(kTransportConnectJobTimeoutInSeconds); | 522 return base::TimeDelta::FromSeconds(kTransportConnectJobTimeoutInSeconds); |
523 } | 523 } |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
591 } | 591 } |
592 | 592 |
593 void TransportClientSocketPool::CancelRequest( | 593 void TransportClientSocketPool::CancelRequest( |
594 const std::string& group_name, | 594 const std::string& group_name, |
595 ClientSocketHandle* handle) { | 595 ClientSocketHandle* handle) { |
596 base_.CancelRequest(group_name, handle); | 596 base_.CancelRequest(group_name, handle); |
597 } | 597 } |
598 | 598 |
599 void TransportClientSocketPool::ReleaseSocket( | 599 void TransportClientSocketPool::ReleaseSocket( |
600 const std::string& group_name, | 600 const std::string& group_name, |
601 scoped_ptr<StreamSocket> socket, | 601 std::unique_ptr<StreamSocket> socket, |
602 int id) { | 602 int id) { |
603 base_.ReleaseSocket(group_name, std::move(socket), id); | 603 base_.ReleaseSocket(group_name, std::move(socket), id); |
604 } | 604 } |
605 | 605 |
606 void TransportClientSocketPool::FlushWithError(int error) { | 606 void TransportClientSocketPool::FlushWithError(int error) { |
607 base_.FlushWithError(error); | 607 base_.FlushWithError(error); |
608 } | 608 } |
609 | 609 |
610 void TransportClientSocketPool::CloseIdleSockets() { | 610 void TransportClientSocketPool::CloseIdleSockets() { |
611 base_.CloseIdleSockets(); | 611 base_.CloseIdleSockets(); |
612 } | 612 } |
613 | 613 |
614 int TransportClientSocketPool::IdleSocketCount() const { | 614 int TransportClientSocketPool::IdleSocketCount() const { |
615 return base_.idle_socket_count(); | 615 return base_.idle_socket_count(); |
616 } | 616 } |
617 | 617 |
618 int TransportClientSocketPool::IdleSocketCountInGroup( | 618 int TransportClientSocketPool::IdleSocketCountInGroup( |
619 const std::string& group_name) const { | 619 const std::string& group_name) const { |
620 return base_.IdleSocketCountInGroup(group_name); | 620 return base_.IdleSocketCountInGroup(group_name); |
621 } | 621 } |
622 | 622 |
623 LoadState TransportClientSocketPool::GetLoadState( | 623 LoadState TransportClientSocketPool::GetLoadState( |
624 const std::string& group_name, const ClientSocketHandle* handle) const { | 624 const std::string& group_name, const ClientSocketHandle* handle) const { |
625 return base_.GetLoadState(group_name, handle); | 625 return base_.GetLoadState(group_name, handle); |
626 } | 626 } |
627 | 627 |
628 scoped_ptr<base::DictionaryValue> TransportClientSocketPool::GetInfoAsValue( | 628 std::unique_ptr<base::DictionaryValue> |
629 const std::string& name, | 629 TransportClientSocketPool::GetInfoAsValue(const std::string& name, |
630 const std::string& type, | 630 const std::string& type, |
631 bool include_nested_pools) const { | 631 bool include_nested_pools) const { |
632 return base_.GetInfoAsValue(name, type); | 632 return base_.GetInfoAsValue(name, type); |
633 } | 633 } |
634 | 634 |
635 base::TimeDelta TransportClientSocketPool::ConnectionTimeout() const { | 635 base::TimeDelta TransportClientSocketPool::ConnectionTimeout() const { |
636 return base_.ConnectionTimeout(); | 636 return base_.ConnectionTimeout(); |
637 } | 637 } |
638 | 638 |
639 bool TransportClientSocketPool::IsStalled() const { | 639 bool TransportClientSocketPool::IsStalled() const { |
640 return base_.IsStalled(); | 640 return base_.IsStalled(); |
641 } | 641 } |
642 | 642 |
643 void TransportClientSocketPool::AddHigherLayeredPool( | 643 void TransportClientSocketPool::AddHigherLayeredPool( |
644 HigherLayeredPool* higher_pool) { | 644 HigherLayeredPool* higher_pool) { |
645 base_.AddHigherLayeredPool(higher_pool); | 645 base_.AddHigherLayeredPool(higher_pool); |
646 } | 646 } |
647 | 647 |
648 void TransportClientSocketPool::RemoveHigherLayeredPool( | 648 void TransportClientSocketPool::RemoveHigherLayeredPool( |
649 HigherLayeredPool* higher_pool) { | 649 HigherLayeredPool* higher_pool) { |
650 base_.RemoveHigherLayeredPool(higher_pool); | 650 base_.RemoveHigherLayeredPool(higher_pool); |
651 } | 651 } |
652 | 652 |
653 } // namespace net | 653 } // namespace net |
OLD | NEW |