| 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_
 | 
| 
 |