summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authorericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-26 22:06:52 +0000
committerericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-26 22:06:52 +0000
commit862a92ee0afc1be6470beed3e19465c24da223e2 (patch)
treedec2efaa94cf3e1eae580599e87f84e7af082594 /net/socket
parentf816c01e9c6f6f0365ba80ba3f661e38461a0537 (diff)
downloadchromium_src-862a92ee0afc1be6470beed3e19465c24da223e2.zip
chromium_src-862a92ee0afc1be6470beed3e19465c24da223e2.tar.gz
chromium_src-862a92ee0afc1be6470beed3e19465c24da223e2.tar.bz2
Make net::HostResolver refcounted.
This way it can be properly shared between the url request contexts, and the dns prefetcher, and dns observer. BUG=http://crbug.com/14664 TEST=existing unit tests. Review URL: http://codereview.chromium.org/149053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19425 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/client_socket_pool_base.h4
-rw-r--r--net/socket/ssl_client_socket_unittest.cc24
-rw-r--r--net/socket/ssl_test_util.cc4
-rw-r--r--net/socket/tcp_client_socket_pool_unittest.cc3
-rw-r--r--net/socket/tcp_client_socket_unittest.cc4
-rw-r--r--net/socket/tcp_pinger_unittest.cc8
6 files changed, 23 insertions, 24 deletions
diff --git a/net/socket/client_socket_pool_base.h b/net/socket/client_socket_pool_base.h
index 6280048..c642b48 100644
--- a/net/socket/client_socket_pool_base.h
+++ b/net/socket/client_socket_pool_base.h
@@ -218,9 +218,9 @@ class ClientSocketPoolBase : public base::RefCounted<ClientSocketPoolBase> {
// The maximum number of sockets kept per group.
const int max_sockets_per_group_;
- // The host resolver that will be used to do DNS lookups for connecting
+ // The host resolver that will be used to do host lookups for connecting
// sockets.
- HostResolver* const host_resolver_;
+ scoped_refptr<HostResolver> host_resolver_;
scoped_ptr<ConnectJobFactory> connect_job_factory_;
diff --git a/net/socket/ssl_client_socket_unittest.cc b/net/socket/ssl_client_socket_unittest.cc
index c6308fa..1d68bd1 100644
--- a/net/socket/ssl_client_socket_unittest.cc
+++ b/net/socket/ssl_client_socket_unittest.cc
@@ -86,11 +86,11 @@ TEST_F(SSLClientSocketTest, MAYBE_Connect) {
StartOKServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kHostName, server_.kOKHTTPSPort);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(net::OK, rv);
net::ClientSocket *transport = new net::TCPClientSocket(addr);
@@ -124,11 +124,11 @@ TEST_F(SSLClientSocketTest, MAYBE_ConnectExpired) {
StartExpiredServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kHostName, server_.kBadHTTPSPort);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(net::OK, rv);
net::ClientSocket *transport = new net::TCPClientSocket(addr);
@@ -161,12 +161,12 @@ TEST_F(SSLClientSocketTest, MAYBE_ConnectMismatched) {
StartMismatchedServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kMismatchedHostName,
server_.kOKHTTPSPort);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(net::OK, rv);
net::ClientSocket *transport = new net::TCPClientSocket(addr);
@@ -204,11 +204,11 @@ TEST_F(SSLClientSocketTest, MAYBE_Read) {
StartOKServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kHostName, server_.kOKHTTPSPort);
- int rv = resolver.Resolve(info, &addr, &callback, NULL);
+ int rv = resolver->Resolve(info, &addr, &callback, NULL);
EXPECT_EQ(net::ERR_IO_PENDING, rv);
rv = callback.WaitForResult();
@@ -265,11 +265,11 @@ TEST_F(SSLClientSocketTest, MAYBE_Read_SmallChunks) {
StartOKServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kHostName, server_.kOKHTTPSPort);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(net::OK, rv);
net::ClientSocket *transport = new net::TCPClientSocket(addr);
@@ -321,11 +321,11 @@ TEST_F(SSLClientSocketTest, MAYBE_Read_Interrupted) {
StartOKServer();
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
TestCompletionCallback callback;
net::HostResolver::RequestInfo info(server_.kHostName, server_.kOKHTTPSPort);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(net::OK, rv);
net::ClientSocket *transport = new net::TCPClientSocket(addr);
diff --git a/net/socket/ssl_test_util.cc b/net/socket/ssl_test_util.cc
index f615662..101cbf5 100644
--- a/net/socket/ssl_test_util.cc
+++ b/net/socket/ssl_test_util.cc
@@ -246,9 +246,9 @@ bool TestServerLauncher::WaitToStart(const std::string& host_name, int port) {
// Verify that the webserver is actually started.
// Otherwise tests can fail if they run faster than Python can start.
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
net::HostResolver::RequestInfo info(host_name, port);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
if (rv != net::OK)
return false;
diff --git a/net/socket/tcp_client_socket_pool_unittest.cc b/net/socket/tcp_client_socket_pool_unittest.cc
index 9cd62e8..5d9e630 100644
--- a/net/socket/tcp_client_socket_pool_unittest.cc
+++ b/net/socket/tcp_client_socket_pool_unittest.cc
@@ -225,7 +225,7 @@ class TCPClientSocketPoolTest : public testing::Test {
protected:
TCPClientSocketPoolTest()
: pool_(new TCPClientSocketPool(kMaxSocketsPerGroup,
- &host_resolver_,
+ new HostResolver,
&client_socket_factory_)) {}
virtual void SetUp() {
@@ -242,7 +242,6 @@ class TCPClientSocketPoolTest : public testing::Test {
}
ScopedHostMapper scoped_host_mapper_;
- HostResolver host_resolver_;
MockClientSocketFactory client_socket_factory_;
scoped_refptr<ClientSocketPool> pool_;
std::vector<TestSocketRequest*> request_order_;
diff --git a/net/socket/tcp_client_socket_unittest.cc b/net/socket/tcp_client_socket_unittest.cc
index 519d938..91b0e57 100644
--- a/net/socket/tcp_client_socket_unittest.cc
+++ b/net/socket/tcp_client_socket_unittest.cc
@@ -86,9 +86,9 @@ void TCPClientSocketTest::SetUp() {
listen_port_ = port;
AddressList addr;
- HostResolver resolver;
+ scoped_refptr<HostResolver> resolver(new HostResolver);
HostResolver::RequestInfo info("localhost", listen_port_);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
CHECK(rv == OK);
sock_.reset(new TCPClientSocket(addr));
}
diff --git a/net/socket/tcp_pinger_unittest.cc b/net/socket/tcp_pinger_unittest.cc
index 1d94ddd..c807007 100644
--- a/net/socket/tcp_pinger_unittest.cc
+++ b/net/socket/tcp_pinger_unittest.cc
@@ -65,10 +65,10 @@ void TCPPingerTest::SetUp() {
TEST_F(TCPPingerTest, Ping) {
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
net::HostResolver::RequestInfo info("localhost", listen_port_);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(rv, net::OK);
net::TCPPinger pinger(addr);
@@ -78,13 +78,13 @@ TEST_F(TCPPingerTest, Ping) {
TEST_F(TCPPingerTest, PingFail) {
net::AddressList addr;
- net::HostResolver resolver;
+ scoped_refptr<net::HostResolver> resolver(new net::HostResolver);
// "Kill" "server"
listen_sock_ = NULL;
net::HostResolver::RequestInfo info("localhost", listen_port_);
- int rv = resolver.Resolve(info, &addr, NULL, NULL);
+ int rv = resolver->Resolve(info, &addr, NULL, NULL);
EXPECT_EQ(rv, net::OK);
net::TCPPinger pinger(addr);