diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-19 21:19:24 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-19 21:19:24 +0000 |
commit | a937a06d92a426395c006ef8437e57db6be928be (patch) | |
tree | c5f547a7c513e6e125a34ef069f3653b2f3a696e /net/http | |
parent | 8c89e779666552bdfc748989f9870b6c7cf94cfd (diff) | |
download | chromium_src-a937a06d92a426395c006ef8437e57db6be928be.zip chromium_src-a937a06d92a426395c006ef8437e57db6be928be.tar.gz chromium_src-a937a06d92a426395c006ef8437e57db6be928be.tar.bz2 |
Make ClientSocketHandle::Init() typesafe.
Introduce a REGISTER_SOCKET_PARAMS_FOR_POOL macro to register valid SocketParams for a ClientSocketPool subtype.
Update HttpNetworkSession's ClientSocketPool to return the concrete TCPClientSocketPool instead of the parent interface. Renamed the member variable&accessor.
Updated tests.
BUG=http://crbug.com/13289
Review URL: http://codereview.chromium.org/173018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23743 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http')
-rw-r--r-- | net/http/http_cache.cc | 2 | ||||
-rw-r--r-- | net/http/http_network_layer.cc | 2 | ||||
-rw-r--r-- | net/http/http_network_session.cc | 2 | ||||
-rw-r--r-- | net/http/http_network_session.h | 7 | ||||
-rw-r--r-- | net/http/http_network_transaction.cc | 2 | ||||
-rw-r--r-- | net/http/http_network_transaction_unittest.cc | 19 |
6 files changed, 16 insertions, 18 deletions
diff --git a/net/http/http_cache.cc b/net/http/http_cache.cc index 7f7dd61..4d9802a 100644 --- a/net/http/http_cache.cc +++ b/net/http/http_cache.cc @@ -2075,7 +2075,7 @@ void HttpCache::CloseIdleConnections() { static_cast<net::HttpNetworkLayer*>(network_layer_.get()); HttpNetworkSession* session = network->GetSession(); if (session) { - session->connection_pool()->CloseIdleSockets(); + session->tcp_socket_pool()->CloseIdleSockets(); } } diff --git a/net/http/http_network_layer.cc b/net/http/http_network_layer.cc index 9d1509d..7f5c142 100644 --- a/net/http/http_network_layer.cc +++ b/net/http/http_network_layer.cc @@ -69,7 +69,7 @@ void HttpNetworkLayer::Suspend(bool suspend) { suspended_ = suspend; if (suspend && session_) - session_->connection_pool()->CloseIdleSockets(); + session_->tcp_socket_pool()->CloseIdleSockets(); } HttpNetworkSession* HttpNetworkLayer::GetSession() { diff --git a/net/http/http_network_session.cc b/net/http/http_network_session.cc index b705766..b7d32c2 100644 --- a/net/http/http_network_session.cc +++ b/net/http/http_network_session.cc @@ -18,7 +18,7 @@ HttpNetworkSession::HttpNetworkSession( HostResolver* host_resolver, ProxyService* proxy_service, ClientSocketFactory* client_socket_factory) - : connection_pool_(new TCPClientSocketPool( + : tcp_socket_pool_(new TCPClientSocketPool( max_sockets_, max_sockets_per_group_, host_resolver, client_socket_factory)), host_resolver_(host_resolver), diff --git a/net/http/http_network_session.h b/net/http/http_network_session.h index 08e90ce..b6327c6 100644 --- a/net/http/http_network_session.h +++ b/net/http/http_network_session.h @@ -27,9 +27,8 @@ class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> { SSLClientAuthCache* ssl_client_auth_cache() { return &ssl_client_auth_cache_; } - // TODO(willchan): Look at making this return a TCPClientSocketPool instead so - // we can get type safety information. - ClientSocketPool* connection_pool() { return connection_pool_; } + + TCPClientSocketPool* tcp_socket_pool() { return tcp_socket_pool_; } HostResolver* host_resolver() { return host_resolver_; } ProxyService* proxy_service() { return proxy_service_; } #if defined(OS_WIN) @@ -51,7 +50,7 @@ class HttpNetworkSession : public base::RefCounted<HttpNetworkSession> { HttpAuthCache auth_cache_; SSLClientAuthCache ssl_client_auth_cache_; - scoped_refptr<ClientSocketPool> connection_pool_; + scoped_refptr<TCPClientSocketPool> tcp_socket_pool_; scoped_refptr<HostResolver> host_resolver_; scoped_refptr<ProxyService> proxy_service_; #if defined(OS_WIN) diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc index 669ab35..7d2e6da 100644 --- a/net/http/http_network_transaction.cc +++ b/net/http/http_network_transaction.cc @@ -628,7 +628,7 @@ int HttpNetworkTransaction::DoInitConnection() { } int rv = connection_.Init(connection_group, resolve_info, request_->priority, - &io_callback_, session_->connection_pool(), NULL); + &io_callback_, session_->tcp_socket_pool(), NULL); return rv; } diff --git a/net/http/http_network_transaction_unittest.cc b/net/http/http_network_transaction_unittest.cc index ac10c99..164450e 100644 --- a/net/http/http_network_transaction_unittest.cc +++ b/net/http/http_network_transaction_unittest.cc @@ -165,10 +165,9 @@ std::string MockGetHostName() { return "WTC-WIN7"; } -class CaptureGroupNameSocketPool : public ClientSocketPool { +class CaptureGroupNameSocketPool : public TCPClientSocketPool { public: - CaptureGroupNameSocketPool() { - } + CaptureGroupNameSocketPool() : TCPClientSocketPool(0, 0, NULL, NULL) {} const std::string last_group_name_received() const { return last_group_name_; } @@ -1873,11 +1872,11 @@ TEST_F(HttpNetworkTransactionTest, DontRecycleTCPSocketForSSLTunnel) { // We now check to make sure the TCPClientSocket was not added back to // the pool. - EXPECT_EQ(0, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(0, session->tcp_socket_pool()->IdleSocketCount()); trans.reset(); MessageLoop::current()->RunAllPending(); // Make sure that the socket didn't get recycled after calling the destructor. - EXPECT_EQ(0, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(0, session->tcp_socket_pool()->IdleSocketCount()); } // Make sure that we recycle a socket after reading all of the response body. @@ -1921,7 +1920,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocket) { std::string status_line = response->headers->GetStatusLine(); EXPECT_EQ("HTTP/1.1 200 OK", status_line); - EXPECT_EQ(0, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(0, session->tcp_socket_pool()->IdleSocketCount()); std::string response_data; rv = ReadTransaction(trans.get(), &response_data); @@ -1933,7 +1932,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocket) { MessageLoop::current()->RunAllPending(); // We now check to make sure the socket was added back to the pool. - EXPECT_EQ(1, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(1, session->tcp_socket_pool()->IdleSocketCount()); } // Make sure that we recycle a socket after a zero-length response. @@ -1979,7 +1978,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocketAfterZeroContentLength) { std::string status_line = response->headers->GetStatusLine(); EXPECT_EQ("HTTP/1.1 204 No Content", status_line); - EXPECT_EQ(0, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(0, session->tcp_socket_pool()->IdleSocketCount()); std::string response_data; rv = ReadTransaction(trans.get(), &response_data); @@ -1991,7 +1990,7 @@ TEST_F(HttpNetworkTransactionTest, RecycleSocketAfterZeroContentLength) { MessageLoop::current()->RunAllPending(); // We now check to make sure the socket was added back to the pool. - EXPECT_EQ(1, session->connection_pool()->IdleSocketCount()); + EXPECT_EQ(1, session->tcp_socket_pool()->IdleSocketCount()); } TEST_F(HttpNetworkTransactionTest, ResendRequestOnWriteBodyError) { @@ -3330,7 +3329,7 @@ TEST_F(HttpNetworkTransactionTest, GroupNameForProxyConnections) { new CaptureGroupNameSocketPool()); scoped_refptr<HttpNetworkSession> session(CreateSession(&session_deps)); - session->connection_pool_ = conn_pool.get(); + session->tcp_socket_pool_ = conn_pool.get(); scoped_ptr<HttpTransaction> trans( new HttpNetworkTransaction( |