diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 15:18:58 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-10-07 15:18:58 +0000 |
commit | 51c07140c9533c09f348d9fc7dfe5aea6341e618 (patch) | |
tree | df239e1fb59cc734a2010ea2d0b34bcf371646e6 /net/socket | |
parent | b6207ced7803f1aa72ca31c02705d148ef718cd8 (diff) | |
download | chromium_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.cc | 5 | ||||
-rw-r--r-- | net/socket/client_socket_pool_manager.h | 3 | ||||
-rw-r--r-- | net/socket/socket_test_util.cc | 2 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_pool.cc | 11 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_pool.h | 6 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_pool_unittest.cc | 2 |
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, |