diff options
author | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-20 19:38:30 +0000 |
---|---|---|
committer | eroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-20 19:38:30 +0000 |
commit | fd7b7c97553ad90ca9c4e6b83b320c076e902af8 (patch) | |
tree | 26016f371b93d686f8f025edd931bbe01e7b7a0b /net/socket/tcp_client_socket_pool.cc | |
parent | af9a7a5f59a1b5988b9c0e948c95724f61910393 (diff) | |
download | chromium_src-fd7b7c97553ad90ca9c4e6b83b320c076e902af8.zip chromium_src-fd7b7c97553ad90ca9c4e6b83b320c076e902af8.tar.gz chromium_src-fd7b7c97553ad90ca9c4e6b83b320c076e902af8.tar.bz2 |
Add instrumentation to ClientSocketPool, that writes to LoadLog.
BUG=http://crbug.com/14478
Review URL: http://codereview.chromium.org/174101
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23855 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/tcp_client_socket_pool.cc')
-rw-r--r-- | net/socket/tcp_client_socket_pool.cc | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/net/socket/tcp_client_socket_pool.cc b/net/socket/tcp_client_socket_pool.cc index 2a23e55..77a5fad 100644 --- a/net/socket/tcp_client_socket_pool.cc +++ b/net/socket/tcp_client_socket_pool.cc @@ -29,8 +29,9 @@ TCPConnectJob::TCPConnectJob( base::TimeDelta timeout_duration, ClientSocketFactory* client_socket_factory, HostResolver* host_resolver, - Delegate* delegate) - : ConnectJob(group_name, handle, timeout_duration, delegate), + Delegate* delegate, + LoadLog* load_log) + : ConnectJob(group_name, handle, timeout_duration, delegate, load_log), resolve_info_(resolve_info), client_socket_factory_(client_socket_factory), ALLOW_THIS_IN_INITIALIZER_LIST( @@ -51,7 +52,7 @@ int TCPConnectJob::ConnectInternal() { void TCPConnectJob::OnIOComplete(int result) { int rv = DoLoop(result); if (rv != ERR_IO_PENDING) - delegate()->OnConnectJobComplete(rv, this); // Deletes |this| + NotifyDelegateOfCompletion(rv); // Deletes |this| } int TCPConnectJob::DoLoop(int result) { @@ -89,7 +90,7 @@ int TCPConnectJob::DoLoop(int result) { int TCPConnectJob::DoResolveHost() { set_load_state(LOAD_STATE_RESOLVING_HOST); next_state_ = kStateResolveHostComplete; - return resolver_.Resolve(resolve_info_, &addresses_, &callback_, NULL); + return resolver_.Resolve(resolve_info_, &addresses_, &callback_, load_log()); } int TCPConnectJob::DoResolveHostComplete(int result) { @@ -104,6 +105,7 @@ int TCPConnectJob::DoTCPConnect() { set_load_state(LOAD_STATE_CONNECTING); set_socket(client_socket_factory_->CreateTCPClientSocket(addresses_)); connect_start_time_ = base::TimeTicks::Now(); + // TODO(eroman): Socket::Connect() should take a LoadLog. return socket()->Connect(&callback_); } @@ -130,11 +132,12 @@ int TCPConnectJob::DoTCPConnectComplete(int result) { ConnectJob* TCPClientSocketPool::TCPConnectJobFactory::NewConnectJob( const std::string& group_name, const PoolBase::Request& request, - ConnectJob::Delegate* delegate) const { + ConnectJob::Delegate* delegate, + LoadLog* load_log) const { return new TCPConnectJob( group_name, request.params(), request.handle(), base::TimeDelta::FromSeconds(kTCPConnectJobTimeoutInSeconds), - client_socket_factory_, host_resolver_, delegate); + client_socket_factory_, host_resolver_, delegate, load_log); } TCPClientSocketPool::TCPClientSocketPool( |