summaryrefslogtreecommitdiffstats
path: root/net/socket/tcp_client_socket_pool_unittest.cc
diff options
context:
space:
mode:
authorvandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 17:17:26 +0000
committervandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-22 17:17:26 +0000
commita796bcec176ca3875a55346800b3a60a83e2dd89 (patch)
tree2533c17673ff50f4f101e803c2dff3bf8f5cbf7b /net/socket/tcp_client_socket_pool_unittest.cc
parent35818452760c23c570b7947e00a3b38e733ce58e (diff)
downloadchromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.zip
chromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.tar.gz
chromium_src-a796bcec176ca3875a55346800b3a60a83e2dd89.tar.bz2
Implement SOCKSClientSocketPool
This is the first layered pool, so there are several infrastructure changes in this change as well. Add a ConnectionTimeout method to pools so that layered pools can timeout each phase. Add a name method to pools to support per pool UMA histograms. Change SOCKS sockets to take a ClientSocketHandle instead of a ClientSocket BUG=30357 (blocks an SSL Pool) TEST=existing unit tests Review URL: http://codereview.chromium.org/668097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42231 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/tcp_client_socket_pool_unittest.cc')
-rw-r--r--net/socket/tcp_client_socket_pool_unittest.cc39
1 files changed, 16 insertions, 23 deletions
diff --git a/net/socket/tcp_client_socket_pool_unittest.cc b/net/socket/tcp_client_socket_pool_unittest.cc
index a275a63..4ef6b98 100644
--- a/net/socket/tcp_client_socket_pool_unittest.cc
+++ b/net/socket/tcp_client_socket_pool_unittest.cc
@@ -244,6 +244,7 @@ class TCPClientSocketPoolTest : public ClientSocketPoolTest {
host_resolver_(new MockHostResolver),
pool_(new TCPClientSocketPool(kMaxSockets,
kMaxSocketsPerGroup,
+ "TCPUnitTest",
host_resolver_,
&client_socket_factory_,
&notifier_)) {
@@ -251,7 +252,7 @@ class TCPClientSocketPoolTest : public ClientSocketPoolTest {
int StartRequest(const std::string& group_name, RequestPriority priority) {
return StartRequestUsingPool(
- pool_.get(), group_name, priority, ignored_socket_params_);
+ pool_, group_name, priority, ignored_socket_params_);
}
TCPSocketParams ignored_socket_params_;
@@ -265,7 +266,7 @@ TEST_F(TCPClientSocketPoolTest, Basic) {
TestCompletionCallback callback;
ClientSocketHandle handle;
TCPSocketParams dest("www.google.com", 80, LOW, GURL(), false);
- int rv = handle.Init("a", dest, LOW, &callback, pool_.get(), NULL);
+ int rv = handle.Init("a", dest, LOW, &callback, pool_, NULL);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_FALSE(handle.is_initialized());
EXPECT_FALSE(handle.socket());
@@ -283,8 +284,7 @@ TEST_F(TCPClientSocketPoolTest, InitHostResolutionFailure) {
TCPSocketParams dest("unresolvable.host.name", 80, kDefaultPriority, GURL(),
false);
EXPECT_EQ(ERR_IO_PENDING,
- req.handle()->Init(
- "a", dest, kDefaultPriority, &req, pool_.get(), NULL));
+ req.handle()->Init("a", dest, kDefaultPriority, &req, pool_, NULL));
EXPECT_EQ(ERR_NAME_NOT_RESOLVED, req.WaitForResult());
}
@@ -294,15 +294,13 @@ TEST_F(TCPClientSocketPoolTest, InitConnectionFailure) {
TestSocketRequest req(&request_order_, &completion_count_);
TCPSocketParams dest("a", 80, kDefaultPriority, GURL(), false);
EXPECT_EQ(ERR_IO_PENDING,
- req.handle()->Init(
- "a", dest, kDefaultPriority, &req, pool_.get(), NULL));
+ req.handle()->Init("a", dest, kDefaultPriority, &req, pool_, NULL));
EXPECT_EQ(ERR_CONNECTION_FAILED, req.WaitForResult());
// Make the host resolutions complete synchronously this time.
host_resolver_->set_synchronous_mode(true);
EXPECT_EQ(ERR_CONNECTION_FAILED,
- req.handle()->Init(
- "a", dest, kDefaultPriority, &req, pool_.get(), NULL));
+ req.handle()->Init("a", dest, kDefaultPriority, &req, pool_, NULL));
}
TEST_F(TCPClientSocketPoolTest, PendingRequests) {
@@ -408,8 +406,7 @@ TEST_F(TCPClientSocketPoolTest, CancelRequestClearGroup) {
TestSocketRequest req(&request_order_, &completion_count_);
TCPSocketParams dest("www.google.com", 80, kDefaultPriority, GURL(), false);
EXPECT_EQ(ERR_IO_PENDING,
- req.handle()->Init(
- "a", dest, kDefaultPriority, &req, pool_.get(), NULL));
+ req.handle()->Init("a", dest, kDefaultPriority, &req, pool_, NULL));
req.handle()->Reset();
// There is a race condition here. If the worker pool doesn't post the task
@@ -427,11 +424,9 @@ TEST_F(TCPClientSocketPoolTest, TwoRequestsCancelOne) {
TCPSocketParams dest("www.google.com", 80, kDefaultPriority, GURL(), false);
EXPECT_EQ(ERR_IO_PENDING,
- req.handle()->Init(
- "a", dest, kDefaultPriority, &req, pool_.get(), NULL));
+ req.handle()->Init("a", dest, kDefaultPriority, &req, pool_, NULL));
EXPECT_EQ(ERR_IO_PENDING,
- req2.handle()->Init(
- "a", dest, kDefaultPriority, &req2, pool_.get(), NULL));
+ req2.handle()->Init("a", dest, kDefaultPriority, &req2, pool_, NULL));
req.handle()->Reset();
@@ -448,15 +443,13 @@ TEST_F(TCPClientSocketPoolTest, ConnectCancelConnect) {
TCPSocketParams dest("www.google.com", 80, kDefaultPriority, GURL(), false);
EXPECT_EQ(ERR_IO_PENDING,
- handle.Init(
- "a", dest, kDefaultPriority, &callback, pool_.get(), NULL));
+ handle.Init("a", dest, kDefaultPriority, &callback, pool_, NULL));
handle.Reset();
TestCompletionCallback callback2;
EXPECT_EQ(ERR_IO_PENDING,
- handle.Init(
- "a", dest, kDefaultPriority, &callback2, pool_.get(), NULL));
+ handle.Init("a", dest, kDefaultPriority, &callback2, pool_, NULL));
host_resolver_->set_synchronous_mode(true);
// At this point, handle has two ConnectingSockets out for it. Due to the
@@ -555,7 +548,7 @@ class RequestSocketCallback : public CallbackRunner< Tuple1<int> > {
}
within_callback_ = true;
TCPSocketParams dest("www.google.com", 80, LOWEST, GURL(), false);
- int rv = handle_->Init("a", dest, LOWEST, this, pool_.get(), NULL);
+ int rv = handle_->Init("a", dest, LOWEST, this, pool_, NULL);
EXPECT_EQ(OK, rv);
}
}
@@ -575,7 +568,7 @@ TEST_F(TCPClientSocketPoolTest, RequestTwice) {
ClientSocketHandle handle;
RequestSocketCallback callback(&handle, pool_.get());
TCPSocketParams dest("www.google.com", 80, LOWEST, GURL(), false);
- int rv = handle.Init("a", dest, LOWEST, &callback, pool_.get(), NULL);
+ int rv = handle.Init("a", dest, LOWEST, &callback, pool_, NULL);
ASSERT_EQ(ERR_IO_PENDING, rv);
// The callback is going to request "www.google.com". We want it to complete
@@ -638,7 +631,7 @@ TEST_F(TCPClientSocketPoolTest, ResetIdleSocketsOnIPAddressChange) {
TestCompletionCallback callback;
ClientSocketHandle handle;
TCPSocketParams dest("www.google.com", 80, LOW, GURL(), false);
- int rv = handle.Init("a", dest, LOW, &callback, pool_.get(), NULL);
+ int rv = handle.Init("a", dest, LOW, &callback, pool_, NULL);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_FALSE(handle.is_initialized());
EXPECT_FALSE(handle.socket());
@@ -692,7 +685,7 @@ TEST_F(TCPClientSocketPoolTest, BackupSocketConnect) {
TestCompletionCallback callback;
ClientSocketHandle handle;
TCPSocketParams dest("www.google.com", 80, LOW, GURL(), false);
- int rv = handle.Init("b", dest, LOW, &callback, pool_.get(), NULL);
+ int rv = handle.Init("b", dest, LOW, &callback, pool_, NULL);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_FALSE(handle.is_initialized());
EXPECT_FALSE(handle.socket());
@@ -730,7 +723,7 @@ TEST_F(TCPClientSocketPoolTest, BackupSocketCancel) {
TestCompletionCallback callback;
ClientSocketHandle handle;
TCPSocketParams dest("www.google.com", 80, LOW, GURL(), false);
- int rv = handle.Init("c", dest, LOW, &callback, pool_.get(), NULL);
+ int rv = handle.Init("c", dest, LOW, &callback, pool_, NULL);
EXPECT_EQ(ERR_IO_PENDING, rv);
EXPECT_FALSE(handle.is_initialized());
EXPECT_FALSE(handle.socket());