summaryrefslogtreecommitdiffstats
path: root/net/ftp
diff options
context:
space:
mode:
authorericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 00:25:12 +0000
committerericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-12 00:25:12 +0000
commitec08bb23238e41b66daa676c3c55f23544a0de14 (patch)
treeaef939a8d5cccb67d037d8d055380a82e95bbfaa /net/ftp
parentdb471b330fc82a9f450807ec1f4307c29dda23c4 (diff)
downloadchromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.zip
chromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.tar.gz
chromium_src-ec08bb23238e41b66daa676c3c55f23544a0de14.tar.bz2
Add a "LoadLog" parameter to transactions, hostresolver, clientsocketpool and proyxservice.This dependency comes from the parent URLRequest, and is used as a container for per-request profiling data.This change is strictly a no-op refactor -- the parameter is unused, and LoadLog does nothing.BUG=http://crbug.com/14478TEST=none -- just needs to compile and pass existing tests.DESIGN=<http://docs.google.com/Doc?id=dfhcnb2v_21gbtrcpr3&hl=en>
Review URL: http://codereview.chromium.org/126303 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23127 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/ftp')
-rw-r--r--net/ftp/ftp_network_transaction.cc9
-rw-r--r--net/ftp/ftp_network_transaction.h4
-rw-r--r--net/ftp/ftp_network_transaction_unittest.cc6
-rw-r--r--net/ftp/ftp_transaction.h5
4 files changed, 17 insertions, 7 deletions
diff --git a/net/ftp/ftp_network_transaction.cc b/net/ftp/ftp_network_transaction.cc
index c009a62..a90ea50 100644
--- a/net/ftp/ftp_network_transaction.cc
+++ b/net/ftp/ftp_network_transaction.cc
@@ -7,6 +7,7 @@
#include "base/compiler_specific.h"
#include "base/string_util.h"
#include "net/base/connection_type_histograms.h"
+#include "net/base/load_log.h"
#include "net/base/net_errors.h"
#include "net/ftp/ftp_network_session.h"
#include "net/ftp/ftp_request_info.h"
@@ -49,8 +50,10 @@ FtpNetworkTransaction::FtpNetworkTransaction(
FtpNetworkTransaction::~FtpNetworkTransaction() {
}
-int FtpNetworkTransaction::Start(const FtpRequestInfo* request_info,
+int FtpNetworkTransaction::Start(LoadLog* load_log,
+ const FtpRequestInfo* request_info,
CompletionCallback* callback) {
+ load_log_ = load_log;
request_ = request_info;
next_state_ = STATE_CTRL_INIT;
@@ -390,7 +393,7 @@ int FtpNetworkTransaction::DoCtrlResolveHost() {
HostResolver::RequestInfo info(host, port);
// No known referrer.
- return resolver_.Resolve(info, &addresses_, &io_callback_);
+ return resolver_.Resolve(load_log_, info, &addresses_, &io_callback_);
}
int FtpNetworkTransaction::DoCtrlResolveHostComplete(int result) {
@@ -915,7 +918,7 @@ int FtpNetworkTransaction::DoDataResolveHost() {
HostResolver::RequestInfo info(data_connection_ip_,
data_connection_port_);
// No known referrer.
- return resolver_.Resolve(info, &addresses_, &io_callback_);
+ return resolver_.Resolve(load_log_, info, &addresses_, &io_callback_);
}
int FtpNetworkTransaction::DoDataResolveHostComplete(int result) {
diff --git a/net/ftp/ftp_network_transaction.h b/net/ftp/ftp_network_transaction.h
index f138f42..1a9c521f 100644
--- a/net/ftp/ftp_network_transaction.h
+++ b/net/ftp/ftp_network_transaction.h
@@ -31,7 +31,8 @@ class FtpNetworkTransaction : public FtpTransaction {
virtual ~FtpNetworkTransaction();
// FtpTransaction methods:
- virtual int Start(const FtpRequestInfo* request_info,
+ virtual int Start(LoadLog* load_log,
+ const FtpRequestInfo* request_info,
CompletionCallback* callback);
virtual int Stop(int error);
virtual int RestartWithAuth(const std::wstring& username,
@@ -155,6 +156,7 @@ class FtpNetworkTransaction : public FtpTransaction {
scoped_refptr<FtpNetworkSession> session_;
+ scoped_refptr<LoadLog> load_log_;
const FtpRequestInfo* request_;
FtpResponseInfo response_;
diff --git a/net/ftp/ftp_network_transaction_unittest.cc b/net/ftp/ftp_network_transaction_unittest.cc
index 5a981af..10c77a3 100644
--- a/net/ftp/ftp_network_transaction_unittest.cc
+++ b/net/ftp/ftp_network_transaction_unittest.cc
@@ -309,7 +309,8 @@ class FtpNetworkTransactionTest : public PlatformTest {
mock_socket_factory_.AddMockSocket(&data_socket1);
mock_socket_factory_.AddMockSocket(&data_socket2);
FtpRequestInfo request_info = GetRequestInfo(request);
- ASSERT_EQ(ERR_IO_PENDING, transaction_.Start(&request_info, &callback_));
+ ASSERT_EQ(ERR_IO_PENDING,
+ transaction_.Start(NULL, &request_info, &callback_));
EXPECT_EQ(expected_result, callback_.WaitForResult());
EXPECT_EQ(FtpMockControlSocket::QUIT, ctrl_socket->state());
if (expected_result == OK) {
@@ -343,7 +344,8 @@ class FtpNetworkTransactionTest : public PlatformTest {
TEST_F(FtpNetworkTransactionTest, FailedLookup) {
FtpRequestInfo request_info = GetRequestInfo("ftp://badhost");
host_resolver_->rules()->AddSimulatedFailure("badhost");
- ASSERT_EQ(ERR_IO_PENDING, transaction_.Start(&request_info, &callback_));
+ ASSERT_EQ(ERR_IO_PENDING,
+ transaction_.Start(NULL, &request_info, &callback_));
EXPECT_EQ(ERR_NAME_NOT_RESOLVED, callback_.WaitForResult());
}
diff --git a/net/ftp/ftp_transaction.h b/net/ftp/ftp_transaction.h
index a0798ea..d0620f6 100644
--- a/net/ftp/ftp_transaction.h
+++ b/net/ftp/ftp_transaction.h
@@ -13,6 +13,7 @@ namespace net {
class FtpRequestInfo;
class FtpResponseInfo;
+class LoadLog;
// Represents a single FTP transaction.
class FtpTransaction {
@@ -34,7 +35,9 @@ class FtpTransaction {
//
// NOTE: The transaction is not responsible for deleting the callback object.
//
- virtual int Start(const FtpRequestInfo* request_info,
+ // Profiling information for the request is saved to |load_log| if non-NULL.
+ virtual int Start(LoadLog* load_log,
+ const FtpRequestInfo* request_info,
CompletionCallback* callback) = 0;
// Restarts the FTP transaction with authentication credentials.