| Index: net/dns/async_host_resolver.h
|
| diff --git a/net/dns/async_host_resolver.h b/net/dns/async_host_resolver.h
|
| index c501d654d4f9803bc96ceae0eefc067d2ecaa683..f40f1cabef0e02c4deb194898f9b2b5c1e9a4b99 100644
|
| --- a/net/dns/async_host_resolver.h
|
| +++ b/net/dns/async_host_resolver.h
|
| @@ -8,6 +8,8 @@
|
|
|
| #include <list>
|
| #include <map>
|
| +#include <string>
|
| +#include <utility>
|
|
|
| #include "base/threading/non_thread_safe.h"
|
| #include "net/base/address_family.h"
|
| @@ -15,24 +17,18 @@
|
| #include "net/base/host_resolver.h"
|
| #include "net/base/ip_endpoint.h"
|
| #include "net/base/net_log.h"
|
| -#include "net/base/rand_callback.h"
|
| -#include "net/dns/dns_transaction.h"
|
| +#include "net/dns/dns_client.h"
|
|
|
| namespace net {
|
|
|
| -class ClientSocketFactory;
|
| -
|
| class NET_EXPORT AsyncHostResolver
|
| : public HostResolver,
|
| - public DnsTransaction::Delegate,
|
| NON_EXPORTED_BASE(public base::NonThreadSafe) {
|
| public:
|
| - AsyncHostResolver(const IPEndPoint& dns_server,
|
| - size_t max_transactions,
|
| + AsyncHostResolver(size_t max_transactions,
|
| size_t max_pending_requests_,
|
| - const RandIntCallback& rand_int,
|
| HostCache* cache,
|
| - ClientSocketFactory* factory,
|
| + DnsClient* client,
|
| NetLog* net_log);
|
| virtual ~AsyncHostResolver();
|
|
|
| @@ -50,11 +46,9 @@ class NET_EXPORT AsyncHostResolver
|
| virtual AddressFamily GetDefaultAddressFamily() const OVERRIDE;
|
| virtual HostCache* GetHostCache() OVERRIDE;
|
|
|
| - // DnsTransaction::Delegate interface
|
| - virtual void OnTransactionComplete(
|
| - int result,
|
| - const DnsTransaction* transaction,
|
| - const IPAddressList& ip_addresses) OVERRIDE;
|
| + virtual void OnRequestComplete(DnsClient::Request* request,
|
| + int result,
|
| + const DnsResponse* transaction);
|
|
|
| private:
|
| FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest, QueuedLookup);
|
| @@ -68,9 +62,9 @@ class NET_EXPORT AsyncHostResolver
|
|
|
| class Request;
|
|
|
| - typedef DnsTransaction::Key Key;
|
| + typedef std::pair<std::string, uint16> Key;
|
| typedef std::list<Request*> RequestList;
|
| - typedef std::list<const DnsTransaction*> TransactionList;
|
| + typedef std::list<const DnsClient::Request*> TransactionList;
|
| typedef std::map<Key, RequestList> KeyRequestListMap;
|
|
|
| // Create a new request for the incoming Resolve() call.
|
| @@ -118,7 +112,7 @@ class NET_EXPORT AsyncHostResolver
|
| size_t max_transactions_;
|
|
|
| // List of current transactions.
|
| - TransactionList transactions_;
|
| + TransactionList dns_requests_;
|
|
|
| // A map from Key to a list of requests waiting for the Key to resolve.
|
| KeyRequestListMap requestlist_map_;
|
| @@ -129,18 +123,10 @@ class NET_EXPORT AsyncHostResolver
|
| // Queues based on priority for putting pending requests.
|
| RequestList pending_requests_[NUM_PRIORITIES];
|
|
|
| - // DNS server to which queries will be setn.
|
| - IPEndPoint dns_server_;
|
| -
|
| - // Callback to be passed to DnsTransaction for generating DNS query ids.
|
| - RandIntCallback rand_int_cb_;
|
| -
|
| // Cache of host resolution results.
|
| scoped_ptr<HostCache> cache_;
|
|
|
| - // Also passed to DnsTransaction; it's a dependency injection to aid
|
| - // testing, outside of unit tests, its value is always NULL.
|
| - ClientSocketFactory* factory_;
|
| + DnsClient* client_;
|
|
|
| NetLog* net_log_;
|
|
|
|
|