summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 15:18:58 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-07 15:18:58 +0000
commit51c07140c9533c09f348d9fc7dfe5aea6341e618 (patch)
treedf239e1fb59cc734a2010ea2d0b34bcf371646e6 /net/socket
parentb6207ced7803f1aa72ca31c02705d148ef718cd8 (diff)
downloadchromium_src-51c07140c9533c09f348d9fc7dfe5aea6341e618.zip
chromium_src-51c07140c9533c09f348d9fc7dfe5aea6341e618.tar.gz
chromium_src-51c07140c9533c09f348d9fc7dfe5aea6341e618.tar.bz2
net: plumb DnsRRResolver from IOThread to HttpNetworkSession.
This patch gets us most of the way. The next patch finishes plumbing into the SSL client socket pool. BUG=none TEST=none http://codereview.chromium.org/3533013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@61789 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/client_socket_pool_manager.cc5
-rw-r--r--net/socket/client_socket_pool_manager.h3
-rw-r--r--net/socket/socket_test_util.cc2
-rw-r--r--net/socket/ssl_client_socket_pool.cc11
-rw-r--r--net/socket/ssl_client_socket_pool.h6
-rw-r--r--net/socket/ssl_client_socket_pool_unittest.cc2
6 files changed, 25 insertions, 4 deletions
diff --git a/net/socket/client_socket_pool_manager.cc b/net/socket/client_socket_pool_manager.cc
index 423f8b2..264cdf8 100644
--- a/net/socket/client_socket_pool_manager.cc
+++ b/net/socket/client_socket_pool_manager.cc
@@ -56,11 +56,13 @@ ClientSocketPoolManager::ClientSocketPoolManager(
NetLog* net_log,
ClientSocketFactory* socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
ProxyService* proxy_service,
SSLConfigService* ssl_config_service)
: net_log_(net_log),
socket_factory_(socket_factory),
host_resolver_(host_resolver),
+ dnsrr_resolver_(dnsrr_resolver),
proxy_service_(proxy_service),
ssl_config_service_(ssl_config_service),
tcp_pool_histograms_("TCP"),
@@ -75,6 +77,7 @@ ClientSocketPoolManager::ClientSocketPoolManager(
g_max_sockets, g_max_sockets_per_group,
&ssl_pool_histograms_,
host_resolver,
+ dnsrr_resolver,
socket_factory,
tcp_socket_pool_.get(),
NULL /* no socks proxy */,
@@ -222,6 +225,7 @@ HttpProxyClientSocketPool* ClientSocketPoolManager::GetSocketPoolForHTTPProxy(
g_max_sockets_per_proxy_server, g_max_sockets_per_group,
&ssl_for_https_proxy_pool_histograms_,
host_resolver_,
+ dnsrr_resolver_,
socket_factory_,
tcp_https_ret.first->second /* https proxy */,
NULL /* no socks proxy */,
@@ -255,6 +259,7 @@ SSLClientSocketPool* ClientSocketPoolManager::GetSocketPoolForSSLWithProxy(
g_max_sockets_per_proxy_server, g_max_sockets_per_group,
&ssl_pool_histograms_,
host_resolver_,
+ dnsrr_resolver_,
socket_factory_,
NULL, /* no tcp pool, we always go through a proxy */
GetSocketPoolForSOCKSProxy(proxy_server),
diff --git a/net/socket/client_socket_pool_manager.h b/net/socket/client_socket_pool_manager.h
index 02a73a9..c455956 100644
--- a/net/socket/client_socket_pool_manager.h
+++ b/net/socket/client_socket_pool_manager.h
@@ -25,6 +25,7 @@ namespace net {
class ClientSocketFactory;
class ClientSocketPoolHistograms;
+class DnsRRResolver;
class HostPortPair;
class HttpProxyClientSocketPool;
class HostResolver;
@@ -58,6 +59,7 @@ class ClientSocketPoolManager : public NonThreadSafe {
ClientSocketPoolManager(NetLog* net_log,
ClientSocketFactory* socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
ProxyService* proxy_service,
SSLConfigService* ssl_config_service);
~ClientSocketPoolManager();
@@ -100,6 +102,7 @@ class ClientSocketPoolManager : public NonThreadSafe {
NetLog* const net_log_;
ClientSocketFactory* const socket_factory_;
HostResolver* const host_resolver_;
+ DnsRRResolver* dnsrr_resolver_;
const scoped_refptr<ProxyService> proxy_service_;
const scoped_refptr<SSLConfigService> ssl_config_service_;
diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc
index 1cf894a..cba4b1c 100644
--- a/net/socket/socket_test_util.cc
+++ b/net/socket/socket_test_util.cc
@@ -1242,7 +1242,7 @@ MockSSLClientSocketPool::MockSSLClientSocketPool(
ClientSocketFactory* socket_factory,
TCPClientSocketPool* tcp_pool)
: SSLClientSocketPool(max_sockets, max_sockets_per_group, histograms,
- NULL, socket_factory,
+ NULL, NULL, socket_factory,
tcp_pool,
NULL, NULL, NULL, NULL),
client_socket_factory_(socket_factory),
diff --git a/net/socket/ssl_client_socket_pool.cc b/net/socket/ssl_client_socket_pool.cc
index ceea81b..cdb877d 100644
--- a/net/socket/ssl_client_socket_pool.cc
+++ b/net/socket/ssl_client_socket_pool.cc
@@ -75,6 +75,7 @@ SSLConnectJob::SSLConnectJob(
HttpProxyClientSocketPool* http_proxy_pool,
ClientSocketFactory* client_socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
Delegate* delegate,
NetLog* net_log)
: ConnectJob(group_name, timeout_duration, delegate,
@@ -85,6 +86,7 @@ SSLConnectJob::SSLConnectJob(
http_proxy_pool_(http_proxy_pool),
client_socket_factory_(client_socket_factory),
resolver_(host_resolver),
+ dnsrr_resolver_(dnsrr_resolver),
ALLOW_THIS_IN_INITIALIZER_LIST(
callback_(this, &SSLConnectJob::OnIOComplete)) {}
@@ -338,8 +340,8 @@ ConnectJob* SSLClientSocketPool::SSLConnectJobFactory::NewConnectJob(
ConnectJob::Delegate* delegate) const {
return new SSLConnectJob(group_name, request.params(), ConnectionTimeout(),
tcp_pool_, socks_pool_, http_proxy_pool_,
- client_socket_factory_, host_resolver_, delegate,
- net_log_);
+ client_socket_factory_, host_resolver_,
+ dnsrr_resolver_, delegate, net_log_);
}
SSLClientSocketPool::SSLConnectJobFactory::SSLConnectJobFactory(
@@ -348,12 +350,14 @@ SSLClientSocketPool::SSLConnectJobFactory::SSLConnectJobFactory(
HttpProxyClientSocketPool* http_proxy_pool,
ClientSocketFactory* client_socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
NetLog* net_log)
: tcp_pool_(tcp_pool),
socks_pool_(socks_pool),
http_proxy_pool_(http_proxy_pool),
client_socket_factory_(client_socket_factory),
host_resolver_(host_resolver),
+ dnsrr_resolver_(dnsrr_resolver),
net_log_(net_log) {
base::TimeDelta max_transport_timeout = base::TimeDelta();
base::TimeDelta pool_timeout;
@@ -378,6 +382,7 @@ SSLClientSocketPool::SSLClientSocketPool(
int max_sockets_per_group,
ClientSocketPoolHistograms* histograms,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
ClientSocketFactory* client_socket_factory,
TCPClientSocketPool* tcp_pool,
SOCKSClientSocketPool* socks_pool,
@@ -393,7 +398,7 @@ SSLClientSocketPool::SSLClientSocketPool(
base::TimeDelta::FromSeconds(kUsedIdleSocketTimeout),
new SSLConnectJobFactory(tcp_pool, socks_pool, http_proxy_pool,
client_socket_factory, host_resolver,
- net_log)),
+ dnsrr_resolver, net_log)),
ssl_config_service_(ssl_config_service) {
if (ssl_config_service_)
ssl_config_service_->AddObserver(this);
diff --git a/net/socket/ssl_client_socket_pool.h b/net/socket/ssl_client_socket_pool.h
index 6aff091..2c75e03 100644
--- a/net/socket/ssl_client_socket_pool.h
+++ b/net/socket/ssl_client_socket_pool.h
@@ -24,6 +24,7 @@ namespace net {
class ClientSocketFactory;
class ConnectJobFactory;
+class DnsRRResolver;
class HttpProxyClientSocketPool;
class HttpProxySocketParams;
class SOCKSClientSocketPool;
@@ -91,6 +92,7 @@ class SSLConnectJob : public ConnectJob {
HttpProxyClientSocketPool* http_proxy_pool,
ClientSocketFactory* client_socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
Delegate* delegate,
NetLog* net_log);
virtual ~SSLConnectJob();
@@ -138,6 +140,7 @@ class SSLConnectJob : public ConnectJob {
HttpProxyClientSocketPool* const http_proxy_pool_;
ClientSocketFactory* const client_socket_factory_;
HostResolver* const resolver_;
+ DnsRRResolver* dnsrr_resolver_;
State next_state_;
CompletionCallbackImpl<SSLConnectJob> callback_;
@@ -162,6 +165,7 @@ class SSLClientSocketPool : public ClientSocketPool,
int max_sockets_per_group,
ClientSocketPoolHistograms* histograms,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
ClientSocketFactory* client_socket_factory,
TCPClientSocketPool* tcp_pool,
SOCKSClientSocketPool* socks_pool,
@@ -228,6 +232,7 @@ class SSLClientSocketPool : public ClientSocketPool,
HttpProxyClientSocketPool* http_proxy_pool,
ClientSocketFactory* client_socket_factory,
HostResolver* host_resolver,
+ DnsRRResolver* dnsrr_resolver,
NetLog* net_log);
virtual ~SSLConnectJobFactory() {}
@@ -246,6 +251,7 @@ class SSLClientSocketPool : public ClientSocketPool,
HttpProxyClientSocketPool* const http_proxy_pool_;
ClientSocketFactory* const client_socket_factory_;
HostResolver* const host_resolver_;
+ DnsRRResolver* dnsrr_resolver_;
base::TimeDelta timeout_;
NetLog* net_log_;
diff --git a/net/socket/ssl_client_socket_pool_unittest.cc b/net/socket/ssl_client_socket_pool_unittest.cc
index 91290bb..2cc564bf 100644
--- a/net/socket/ssl_client_socket_pool_unittest.cc
+++ b/net/socket/ssl_client_socket_pool_unittest.cc
@@ -39,6 +39,7 @@ class SSLClientSocketPoolTest : public testing::Test {
http_auth_handler_factory_(HttpAuthHandlerFactory::CreateDefault(
host_resolver_.get())),
session_(new HttpNetworkSession(host_resolver_.get(),
+ NULL /* dnsrr_resolver */,
ProxyService::CreateDirect(),
&socket_factory_,
new SSLConfigServiceDefaults,
@@ -92,6 +93,7 @@ class SSLClientSocketPoolTest : public testing::Test {
kMaxSocketsPerGroup,
ssl_histograms_.get(),
NULL,
+ NULL /* dnsrr_resolver */,
&socket_factory_,
tcp_pool ? &tcp_socket_pool_ : NULL,
socks_pool ? &socks_socket_pool_ : NULL,