diff options
author | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 17:17:26 +0000 |
---|---|---|
committer | vandebo@chromium.org <vandebo@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-03-22 17:17:26 +0000 |
commit | a796bcec176ca3875a55346800b3a60a83e2dd89 (patch) | |
tree | 2533c17673ff50f4f101e803c2dff3bf8f5cbf7b /net/socket/tcp_client_socket_pool_unittest.cc | |
parent | 35818452760c23c570b7947e00a3b38e733ce58e (diff) | |
download | chromium_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.cc | 39 |
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_, ¬ifier_)) { @@ -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()); |