| Index: net/socket/transport_client_socket_pool.cc
|
| diff --git a/net/socket/transport_client_socket_pool.cc b/net/socket/transport_client_socket_pool.cc
|
| index 94f97c26c8a86f4510ad0ad8d758da5ee8b8f270..1967aced3a01cd5ee352647e4d30ed0cfd858dde 100644
|
| --- a/net/socket/transport_client_socket_pool.cc
|
| +++ b/net/socket/transport_client_socket_pool.cc
|
| @@ -19,6 +19,7 @@
|
| #include "base/values.h"
|
| #include "net/base/ip_endpoint.h"
|
| #include "net/base/net_errors.h"
|
| +#include "net/base/socket_performance_watcher_factory.h"
|
| #include "net/log/net_log.h"
|
| #include "net/socket/client_socket_factory.h"
|
| #include "net/socket/client_socket_handle.h"
|
| @@ -198,6 +199,7 @@ TransportConnectJob::TransportConnectJob(
|
| const scoped_refptr<TransportSocketParams>& params,
|
| base::TimeDelta timeout_duration,
|
| ClientSocketFactory* client_socket_factory,
|
| + SocketPerformanceWatcherFactory* socket_performance_watcher_factory,
|
| HostResolver* host_resolver,
|
| Delegate* delegate,
|
| NetLog* net_log)
|
| @@ -208,6 +210,7 @@ TransportConnectJob::TransportConnectJob(
|
| delegate,
|
| BoundNetLog::Make(net_log, NetLog::SOURCE_CONNECT_JOB)),
|
| helper_(params, client_socket_factory, host_resolver, &connect_timing_),
|
| + socket_performance_watcher_factory_(socket_performance_watcher_factory),
|
| interval_between_connects_(CONNECT_INTERVAL_GT_20MS),
|
| resolve_result_(OK) {
|
| helper_.SetOnIOComplete(this);
|
| @@ -296,7 +299,8 @@ int TransportConnectJob::DoTransportConnect() {
|
| TransportConnectJobHelper::STATE_TRANSPORT_CONNECT_COMPLETE);
|
| transport_socket_ =
|
| helper_.client_socket_factory()->CreateTransportClientSocket(
|
| - helper_.addresses(), net_log().net_log(), net_log().source());
|
| + helper_.addresses(), socket_performance_watcher_factory_,
|
| + net_log().net_log(), net_log().source());
|
|
|
| // If the list contains IPv6 and IPv4 addresses, the first address will
|
| // be IPv6, and the IPv4 addresses will be tried as fallback addresses,
|
| @@ -415,7 +419,8 @@ void TransportConnectJob::DoIPv6FallbackTransportConnect() {
|
| MakeAddressListStartWithIPv4(fallback_addresses_.get());
|
| fallback_transport_socket_ =
|
| helper_.client_socket_factory()->CreateTransportClientSocket(
|
| - *fallback_addresses_, net_log().net_log(), net_log().source());
|
| + *fallback_addresses_, socket_performance_watcher_factory_,
|
| + net_log().net_log(), net_log().source());
|
| fallback_connect_start_time_ = base::TimeTicks::Now();
|
| int rv = fallback_transport_socket_->Connect(
|
| base::Bind(
|
| @@ -490,7 +495,13 @@ TransportClientSocketPool::TransportConnectJobFactory::NewConnectJob(
|
| return scoped_ptr<ConnectJob>(new TransportConnectJob(
|
| group_name, request.priority(), request.respect_limits(),
|
| request.params(), ConnectionTimeout(), client_socket_factory_,
|
| - host_resolver_, delegate, net_log_));
|
| + socket_performance_watcher_factory_, host_resolver_, delegate, net_log_));
|
| +}
|
| +
|
| +void TransportClientSocketPool::TransportConnectJobFactory::
|
| + SetSocketPerformanceWatcherFactory(
|
| + SocketPerformanceWatcherFactory* socket_performance_watcher_factory) {
|
| + socket_performance_watcher_factory_ = socket_performance_watcher_factory;
|
| }
|
|
|
| base::TimeDelta
|
| @@ -516,6 +527,11 @@ TransportClientSocketPool::TransportClientSocketPool(
|
| base_.EnableConnectBackupJobs();
|
| }
|
|
|
| +void TransportClientSocketPool::SetSocketPerformanceWatcherFactory(
|
| + SocketPerformanceWatcherFactory* socket_performance_watcher_factory) {
|
| + base_.SetSocketPerformanceWatcherFactory(socket_performance_watcher_factory);
|
| +}
|
| +
|
| TransportClientSocketPool::~TransportClientSocketPool() {}
|
|
|
| int TransportClientSocketPool::RequestSocket(const std::string& group_name,
|
|
|