| Index: net/dns/async_host_resolver.h
|
| diff --git a/net/dns/async_host_resolver.h b/net/dns/async_host_resolver.h
|
| deleted file mode 100644
|
| index 23d98082162c04db457ec5a5f23d632fd7ffff83..0000000000000000000000000000000000000000
|
| --- a/net/dns/async_host_resolver.h
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#ifndef NET_DNS_ASYNC_HOST_RESOLVER_H_
|
| -#define NET_DNS_ASYNC_HOST_RESOLVER_H_
|
| -#pragma once
|
| -
|
| -#include <list>
|
| -#include <map>
|
| -#include <string>
|
| -#include <utility>
|
| -
|
| -#include "base/threading/non_thread_safe.h"
|
| -#include "net/base/address_family.h"
|
| -#include "net/base/host_cache.h"
|
| -#include "net/base/host_resolver.h"
|
| -#include "net/base/ip_endpoint.h"
|
| -#include "net/base/net_log.h"
|
| -#include "net/dns/dns_transaction.h"
|
| -
|
| -namespace net {
|
| -
|
| -class NET_EXPORT AsyncHostResolver
|
| - : public HostResolver,
|
| - NON_EXPORTED_BASE(public base::NonThreadSafe) {
|
| - public:
|
| - AsyncHostResolver(size_t max_dns_requests,
|
| - size_t max_pending_requests,
|
| - HostCache* cache,
|
| - scoped_ptr<DnsTransactionFactory> client,
|
| - NetLog* net_log);
|
| - virtual ~AsyncHostResolver();
|
| -
|
| - // HostResolver interface
|
| - virtual int Resolve(const RequestInfo& info,
|
| - AddressList* addresses,
|
| - const CompletionCallback& callback,
|
| - RequestHandle* out_req,
|
| - const BoundNetLog& source_net_log) OVERRIDE;
|
| - virtual int ResolveFromCache(const RequestInfo& info,
|
| - AddressList* addresses,
|
| - const BoundNetLog& source_net_log) OVERRIDE;
|
| - virtual void CancelRequest(RequestHandle req_handle) OVERRIDE;
|
| - virtual void SetDefaultAddressFamily(AddressFamily address_family) OVERRIDE;
|
| - virtual AddressFamily GetDefaultAddressFamily() const OVERRIDE;
|
| - virtual HostCache* GetHostCache() OVERRIDE;
|
| -
|
| - void OnDnsTransactionComplete(DnsTransaction* transaction,
|
| - int result,
|
| - const DnsResponse* response);
|
| -
|
| - private:
|
| - FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest, QueuedLookup);
|
| - FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest, CancelPendingLookup);
|
| - FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest,
|
| - ResolverDestructionCancelsLookups);
|
| - FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest,
|
| - OverflowQueueWithLowPriorityLookup);
|
| - FRIEND_TEST_ALL_PREFIXES(AsyncHostResolverTest,
|
| - OverflowQueueWithHighPriorityLookup);
|
| -
|
| - class Request;
|
| -
|
| - typedef std::pair<std::string, uint16> Key;
|
| - typedef std::list<Request*> RequestList;
|
| - typedef std::list<const DnsTransaction*> DnsTransactionList;
|
| - typedef std::map<Key, RequestList> KeyRequestListMap;
|
| -
|
| - // Create a new request for the incoming Resolve() call.
|
| - Request* CreateNewRequest(const RequestInfo& info,
|
| - const CompletionCallback& callback,
|
| - AddressList* addresses,
|
| - const BoundNetLog& source_net_log);
|
| -
|
| - // Called when a request has just been started.
|
| - void OnStart(Request* request);
|
| -
|
| - // Called when a request has just completed (before its callback is run).
|
| - void OnFinish(Request* request, int result);
|
| -
|
| - // Called when a request has been cancelled.
|
| - void OnCancel(Request* request);
|
| -
|
| - // If there is an in-progress transaction for Request->key(), this will
|
| - // attach |request| to the respective list.
|
| - bool AttachToRequestList(Request* request);
|
| -
|
| - // Will start a new DNS request for |request|, will insert a new key in
|
| - // |requestlist_map_| and append |request| to the respective list.
|
| - int StartNewDnsRequestFor(Request* request);
|
| -
|
| - // Will enqueue |request| in |pending_requests_|.
|
| - int Enqueue(Request* request);
|
| -
|
| - // A helper used by Enqueue to insert |request| into |pending_requests_|.
|
| - Request* Insert(Request* request);
|
| -
|
| - // Returns the number of pending requests.
|
| - size_t GetNumPending() const;
|
| -
|
| - // Removes and returns a pointer to the lowest/highest priority request
|
| - // from |pending_requests_|.
|
| - Request* RemoveLowest();
|
| - Request* RemoveHighest();
|
| -
|
| - // Once a transaction has completed, called to start a new transaction if
|
| - // there are pending requests.
|
| - void ProcessPending();
|
| -
|
| - // Maximum number of concurrent DNS transactions.
|
| - size_t max_dns_transactions_;
|
| -
|
| - // List of current DNS transactions.
|
| - DnsTransactionList dns_transactions_;
|
| -
|
| - // A map from Key to a list of requests waiting for the Key to resolve.
|
| - KeyRequestListMap requestlist_map_;
|
| -
|
| - // Maximum number of pending requests.
|
| - size_t max_pending_requests_;
|
| -
|
| - // Queues based on priority for putting pending requests.
|
| - RequestList pending_requests_[NUM_PRIORITIES];
|
| -
|
| - // Cache of host resolution results.
|
| - scoped_ptr<HostCache> cache_;
|
| -
|
| - scoped_ptr<DnsTransactionFactory> client_;
|
| -
|
| - NetLog* net_log_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(AsyncHostResolver);
|
| -};
|
| -
|
| -} // namespace net
|
| -
|
| -#endif // NET_DNS_ASYNC_HOST_RESOLVER_H_
|
|
|