summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-06 19:59:36 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-06 19:59:36 +0000
commit60c4c41ce3ed1fa0697daf274233d84febf6233c (patch)
tree7b6bfe29f7b6526b4c63ce49ab7a7ffcd20d3bbf /net/socket
parent3203c5e35bba5266fe1d149875c3a9815ee9c214 (diff)
downloadchromium_src-60c4c41ce3ed1fa0697daf274233d84febf6233c.zip
chromium_src-60c4c41ce3ed1fa0697daf274233d84febf6233c.tar.gz
chromium_src-60c4c41ce3ed1fa0697daf274233d84febf6233c.tar.bz2
Improve the display of LoadLogs when truncation occurs.
Rather than drop all subsequent entries, we now preserve the final entry that was appended to the log. This way, even if entries have been dropped, we can still infer what the total time was, and what the exit condition was. Also makes LoadLog take the bound as a required parameter. BUG=none TEST=LoadLogUtilTest.DisplayOfTruncated Review URL: http://codereview.chromium.org/363025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31274 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/client_socket_pool_base.cc5
-rw-r--r--net/socket/client_socket_pool_base_unittest.cc22
-rw-r--r--net/socket/socks5_client_socket_unittest.cc14
-rw-r--r--net/socket/socks_client_socket_unittest.cc14
-rw-r--r--net/socket/ssl_client_socket_unittest.cc6
-rw-r--r--net/socket/tcp_client_socket_unittest.cc2
6 files changed, 33 insertions, 30 deletions
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc
index 1dc1180..9413005 100644
--- a/net/socket/client_socket_pool_base.cc
+++ b/net/socket/client_socket_pool_base.cc
@@ -24,6 +24,9 @@ namespace {
// some conditions. See http://crbug.com/4606.
const int kCleanupInterval = 10; // DO NOT INCREASE THIS TIMEOUT.
+// The maximum size of the ConnectJob's LoadLog.
+const int kMaxNumLoadLogEntries = 50;
+
} // namespace
namespace net {
@@ -199,7 +202,7 @@ int ClientSocketPoolBaseHelper::RequestSocket(
// If we aren't using late binding, the job lines up with a request so
// just write directly into the request's LoadLog.
scoped_refptr<LoadLog> job_load_log = g_late_binding ?
- new LoadLog : request->load_log();
+ new LoadLog(kMaxNumLoadLogEntries) : request->load_log();
scoped_ptr<ConnectJob> connect_job(
connect_job_factory_->NewConnectJob(group_name, *request, this,
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc
index 437db55..1aa25c2 100644
--- a/net/socket/client_socket_pool_base_unittest.cc
+++ b/net/socket/client_socket_pool_base_unittest.cc
@@ -470,7 +470,7 @@ TEST_F(ClientSocketPoolBaseTest, ConnectJob_NoTimeoutOnSynchronousCompletion) {
TEST_F(ClientSocketPoolBaseTest, ConnectJob_TimedOut) {
TestConnectJobDelegate delegate;
ClientSocketHandle ignored;
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
TestClientSocketPoolBase::Request request(
&ignored, NULL, kDefaultPriority, NULL, NULL);
// Deleted by TestConnectJobDelegate.
@@ -500,7 +500,7 @@ TEST_F(ClientSocketPoolBaseTest, BasicSynchronous) {
TestCompletionCallback callback;
ClientSocketHandle handle;
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(OK, InitHandle(&handle, "a", kDefaultPriority,
&callback, pool_.get(), log));
EXPECT_TRUE(handle.is_initialized());
@@ -520,7 +520,7 @@ TEST_F(ClientSocketPoolBaseTest, BasicAsynchronous) {
CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
TestSocketRequest req(&request_order_, &completion_count_);
int rv = InitHandle(req.handle(), "a", 0, &req, pool_.get(), log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -543,7 +543,7 @@ TEST_F(ClientSocketPoolBaseTest, InitConnectionFailure) {
CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
connect_job_factory_->set_job_type(TestConnectJob::kMockFailingJob);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
TestSocketRequest req(&request_order_, &completion_count_);
EXPECT_EQ(ERR_CONNECTION_FAILED,
InitHandle(req.handle(), "a", kDefaultPriority, &req,
@@ -562,7 +562,7 @@ TEST_F(ClientSocketPoolBaseTest, InitConnectionAsynchronousFailure) {
CreatePool(kDefaultMaxSockets, kDefaultMaxSocketsPerGroup);
connect_job_factory_->set_job_type(TestConnectJob::kMockPendingFailingJob);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
TestSocketRequest req(&request_order_, &completion_count_);
EXPECT_EQ(ERR_IO_PENDING,
InitHandle(req.handle(), "a", kDefaultPriority, &req,
@@ -1296,7 +1296,7 @@ TEST_F(ClientSocketPoolBaseTest_LateBinding, BasicSynchronous) {
TestCompletionCallback callback;
ClientSocketHandle handle;
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(OK, InitHandle(&handle, "a", kDefaultPriority, &callback,
pool_.get(), log));
EXPECT_TRUE(handle.is_initialized());
@@ -1317,7 +1317,7 @@ TEST_F(ClientSocketPoolBaseTest_LateBinding, BasicAsynchronous) {
connect_job_factory_->set_job_type(TestConnectJob::kMockPendingJob);
TestSocketRequest req(&request_order_, &completion_count_);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = InitHandle(req.handle(), "a", 0, &req, pool_.get(), log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_EQ(LOAD_STATE_CONNECTING, pool_->GetLoadState("a", req.handle()));
@@ -1344,7 +1344,7 @@ TEST_F(ClientSocketPoolBaseTest_LateBinding, InitConnectionFailure) {
connect_job_factory_->set_job_type(TestConnectJob::kMockFailingJob);
TestSocketRequest req(&request_order_, &completion_count_);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(ERR_CONNECTION_FAILED,
InitHandle(req.handle(), "a", kDefaultPriority, &req,
pool_.get(), log));
@@ -1364,7 +1364,7 @@ TEST_F(ClientSocketPoolBaseTest_LateBinding,
connect_job_factory_->set_job_type(TestConnectJob::kMockPendingFailingJob);
TestSocketRequest req(&request_order_, &completion_count_);
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(ERR_IO_PENDING,
InitHandle(req.handle(), "a", kDefaultPriority, &req,
pool_.get(), log));
@@ -1455,11 +1455,11 @@ TEST_F(ClientSocketPoolBaseTest_LateBinding, TwoRequestsCancelOne) {
TestSocketRequest req(&request_order_, &completion_count_);
TestSocketRequest req2(&request_order_, &completion_count_);
- scoped_refptr<LoadLog> log1(new LoadLog);
+ scoped_refptr<LoadLog> log1(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(ERR_IO_PENDING,
InitHandle(req.handle(), "a", kDefaultPriority, &req,
pool_.get(), log1));
- scoped_refptr<LoadLog> log2(new LoadLog);
+ scoped_refptr<LoadLog> log2(new LoadLog(LoadLog::kUnbounded));
EXPECT_EQ(ERR_IO_PENDING,
InitHandle(req2.handle(), "a", kDefaultPriority, &req2,
pool_.get(), log2));
diff --git a/net/socket/socks5_client_socket_unittest.cc b/net/socket/socks5_client_socket_unittest.cc
index 1b079e7..8981ab8 100644
--- a/net/socket/socks5_client_socket_unittest.cc
+++ b/net/socket/socks5_client_socket_unittest.cc
@@ -114,7 +114,7 @@ TEST_F(SOCKS5ClientSocketTest, CompleteHandshake) {
EXPECT_TRUE(tcp_sock_->IsConnected());
EXPECT_FALSE(user_sock_->IsConnected());
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_FALSE(user_sock_->IsConnected());
@@ -171,7 +171,7 @@ TEST_F(SOCKS5ClientSocketTest, FailedDNS) {
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
@@ -208,7 +208,7 @@ TEST_F(SOCKS5ClientSocketTest, IPv6Domain) {
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
@@ -237,7 +237,7 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
@@ -261,7 +261,7 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead(true, partial2, arraysize(partial2)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
@@ -285,7 +285,7 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead(true, kSOCKS5GreetResponse, arraysize(kSOCKS5GreetResponse)),
MockRead(true, kSOCKS5OkResponse, arraysize(kSOCKS5OkResponse)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
@@ -309,7 +309,7 @@ TEST_F(SOCKS5ClientSocketTest, PartialReadWrites) {
MockRead(true, partial1, arraysize(partial1)),
MockRead(true, partial2, arraysize(partial2)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(LogContains(
diff --git a/net/socket/socks_client_socket_unittest.cc b/net/socket/socks_client_socket_unittest.cc
index 56d84a8..6b5c0fb 100644
--- a/net/socket/socks_client_socket_unittest.cc
+++ b/net/socket/socks_client_socket_unittest.cc
@@ -93,7 +93,7 @@ TEST_F(SOCKSClientSocketTest, CompleteHandshake) {
EXPECT_TRUE(tcp_sock_->IsConnected());
EXPECT_FALSE(user_sock_->IsConnected());
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_TRUE(
@@ -154,7 +154,7 @@ TEST_F(SOCKSClientSocketTest, HandshakeFailures) {
MockRead(false, tests[i].fail_reply, arraysize(tests[i].fail_reply)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -182,7 +182,7 @@ TEST_F(SOCKSClientSocketTest, PartialServerReads) {
MockRead(true, kSOCKSPartialReply2, arraysize(kSOCKSPartialReply2)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -212,7 +212,7 @@ TEST_F(SOCKSClientSocketTest, PartialClientWrites) {
MockRead(true, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -236,7 +236,7 @@ TEST_F(SOCKSClientSocketTest, FailedSocketRead) {
MockRead(false, 0) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, "localhost", 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -265,7 +265,7 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AFailedDNS) {
MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
@@ -296,7 +296,7 @@ TEST_F(SOCKSClientSocketTest, SOCKS4AIfDomainInIPv6) {
MockRead(false, kSOCKSOkReply, arraysize(kSOCKSOkReply)) };
user_sock_.reset(BuildMockSocket(data_reads, data_writes, hostname, 80));
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = user_sock_->Connect(&callback_, log);
EXPECT_EQ(ERR_IO_PENDING, rv);
diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc
index 611a604..e360136 100644
--- a/net/socket/ssl_client_socket_unittest.cc
+++ b/net/socket/ssl_client_socket_unittest.cc
@@ -80,7 +80,7 @@ TEST_F(SSLClientSocketTest, Connect) {
EXPECT_FALSE(sock->IsConnected());
- scoped_refptr<net::LoadLog> log(new net::LoadLog);
+ scoped_refptr<net::LoadLog> log(new net::LoadLog(net::LoadLog::kUnbounded));
rv = sock->Connect(&callback, log);
EXPECT_TRUE(net::LogContains(
*log, 0, net::LoadLog::TYPE_SSL_CONNECT, net::LoadLog::PHASE_BEGIN));
@@ -124,7 +124,7 @@ TEST_F(SSLClientSocketTest, ConnectExpired) {
EXPECT_FALSE(sock->IsConnected());
- scoped_refptr<net::LoadLog> log(new net::LoadLog);
+ scoped_refptr<net::LoadLog> log(new net::LoadLog(net::LoadLog::kUnbounded));
rv = sock->Connect(&callback, log);
EXPECT_TRUE(net::LogContains(
*log, 0, net::LoadLog::TYPE_SSL_CONNECT, net::LoadLog::PHASE_BEGIN));
@@ -169,7 +169,7 @@ TEST_F(SSLClientSocketTest, ConnectMismatched) {
EXPECT_FALSE(sock->IsConnected());
- scoped_refptr<net::LoadLog> log(new net::LoadLog);
+ scoped_refptr<net::LoadLog> log(new net::LoadLog(net::LoadLog::kUnbounded));
rv = sock->Connect(&callback, log);
EXPECT_TRUE(net::LogContains(
*log, 0, net::LoadLog::TYPE_SSL_CONNECT, net::LoadLog::PHASE_BEGIN));
diff --git a/net/socket/tcp_client_socket_unittest.cc b/net/socket/tcp_client_socket_unittest.cc
index 80b0496..d797e05 100644
--- a/net/socket/tcp_client_socket_unittest.cc
+++ b/net/socket/tcp_client_socket_unittest.cc
@@ -99,7 +99,7 @@ TEST_F(TCPClientSocketTest, Connect) {
TestCompletionCallback callback;
EXPECT_FALSE(sock_->IsConnected());
- scoped_refptr<LoadLog> log(new LoadLog);
+ scoped_refptr<LoadLog> log(new LoadLog(LoadLog::kUnbounded));
int rv = sock_->Connect(&callback, log);
EXPECT_TRUE(net::LogContains(
*log, 0, net::LoadLog::TYPE_TCP_CONNECT, net::LoadLog::PHASE_BEGIN));