summaryrefslogtreecommitdiffstats
path: root/net/http
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-19 21:19:24 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-19 21:19:24 +0000
commita937a06d92a426395c006ef8437e57db6be928be (patch)
treec5f547a7c513e6e125a34ef069f3653b2f3a696e /net/http
parent8c89e779666552bdfc748989f9870b6c7cf94cfd (diff)
downloadchromium_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.cc2
-rw-r--r--net/http/http_network_layer.cc2
-rw-r--r--net/http/http_network_session.cc2
-rw-r--r--net/http/http_network_session.h7
-rw-r--r--net/http/http_network_transaction.cc2
-rw-r--r--net/http/http_network_transaction_unittest.cc19
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(