diff options
author | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 23:41:52 +0000 |
---|---|---|
committer | mmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-08-22 23:41:52 +0000 |
commit | 043b68c80a7643136fa85a80e6079573d4d5e953 (patch) | |
tree | a40e4a49d59b3f432e28055c8e7255e53e039774 /net/socket/client_socket_pool_base_unittest.cc | |
parent | 31ac75da9f18c250bdab355b4a2c98cba99e08dd (diff) | |
download | chromium_src-043b68c80a7643136fa85a80e6079573d4d5e953.zip chromium_src-043b68c80a7643136fa85a80e6079573d4d5e953.tar.gz chromium_src-043b68c80a7643136fa85a80e6079573d4d5e953.tar.bz2 |
When an idle socket is added back to a socket pool,
check if lower layer socket pools are stalled. If so,
close the idle socket.
Also, when a SPDY stream is destroyed, check if
the session is idle and a lower layer pool is stalled,
and close the session if needed.
BUG=92244
Review URL: https://chromiumcodereview.appspot.com/18796003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219147 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket/client_socket_pool_base_unittest.cc')
-rw-r--r-- | net/socket/client_socket_pool_base_unittest.cc | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc index 4056500..bbeca2f 100644 --- a/net/socket/client_socket_pool_base_unittest.cc +++ b/net/socket/client_socket_pool_base_unittest.cc @@ -477,7 +477,7 @@ class TestClientSocketPool : public ClientSocketPool { base::TimeDelta unused_idle_socket_timeout, base::TimeDelta used_idle_socket_timeout, TestClientSocketPoolBase::ConnectJobFactory* connect_job_factory) - : base_(max_sockets, max_sockets_per_group, histograms, + : base_(NULL, max_sockets, max_sockets_per_group, histograms, unused_idle_socket_timeout, used_idle_socket_timeout, connect_job_factory) {} @@ -546,12 +546,13 @@ class TestClientSocketPool : public ClientSocketPool { return base_.GetLoadState(group_name, handle); } - virtual void AddLayeredPool(LayeredPool* pool) OVERRIDE { - base_.AddLayeredPool(pool); + virtual void AddHigherLayeredPool(HigherLayeredPool* higher_pool) OVERRIDE { + base_.AddHigherLayeredPool(higher_pool); } - virtual void RemoveLayeredPool(LayeredPool* pool) OVERRIDE { - base_.RemoveLayeredPool(pool); + virtual void RemoveHigherLayeredPool( + HigherLayeredPool* higher_pool) OVERRIDE { + base_.RemoveHigherLayeredPool(higher_pool); } virtual base::DictionaryValue* GetInfoAsValue( @@ -591,8 +592,8 @@ class TestClientSocketPool : public ClientSocketPool { void EnableConnectBackupJobs() { base_.EnableConnectBackupJobs(); } - bool CloseOneIdleConnectionInLayeredPool() { - return base_.CloseOneIdleConnectionInLayeredPool(); + bool CloseOneIdleConnectionInHigherLayeredPool() { + return base_.CloseOneIdleConnectionInHigherLayeredPool(); } private: @@ -3718,7 +3719,7 @@ TEST_F(ClientSocketPoolBaseTest, PreconnectWithBackupJob) { EXPECT_EQ(1, pool_->NumActiveSocketsInGroup("a")); } -class MockLayeredPool : public LayeredPool { +class MockLayeredPool : public HigherLayeredPool { public: MockLayeredPool(TestClientSocketPool* pool, const std::string& group_name) @@ -3726,11 +3727,11 @@ class MockLayeredPool : public LayeredPool { params_(new TestSocketParams), group_name_(group_name), can_release_connection_(true) { - pool_->AddLayeredPool(this); + pool_->AddHigherLayeredPool(this); } ~MockLayeredPool() { - pool_->RemoveLayeredPool(this); + pool_->RemoveHigherLayeredPool(this); } int RequestSocket(TestClientSocketPool* pool) { @@ -3776,7 +3777,7 @@ TEST_F(ClientSocketPoolBaseTest, FailToCloseIdleSocketsNotHeldByLayeredPool) { EXPECT_EQ(OK, mock_layered_pool.RequestSocket(pool_.get())); EXPECT_CALL(mock_layered_pool, CloseOneIdleConnection()) .WillOnce(Return(false)); - EXPECT_FALSE(pool_->CloseOneIdleConnectionInLayeredPool()); + EXPECT_FALSE(pool_->CloseOneIdleConnectionInHigherLayeredPool()); } TEST_F(ClientSocketPoolBaseTest, ForciblyCloseIdleSocketsHeldByLayeredPool) { @@ -3788,7 +3789,7 @@ TEST_F(ClientSocketPoolBaseTest, ForciblyCloseIdleSocketsHeldByLayeredPool) { EXPECT_CALL(mock_layered_pool, CloseOneIdleConnection()) .WillOnce(Invoke(&mock_layered_pool, &MockLayeredPool::ReleaseOneConnection)); - EXPECT_TRUE(pool_->CloseOneIdleConnectionInLayeredPool()); + EXPECT_TRUE(pool_->CloseOneIdleConnectionInHigherLayeredPool()); } // Tests the basic case of closing an idle socket in a higher layered pool when |