| Index: net/dns/dns_session.h
 | 
| ===================================================================
 | 
| --- net/dns/dns_session.h	(revision 113383)
 | 
| +++ net/dns/dns_session.h	(working copy)
 | 
| @@ -1,70 +0,0 @@
 | 
| -// Copyright (c) 2011 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_DNS_SESSION_H_
 | 
| -#define NET_DNS_DNS_SESSION_H_
 | 
| -#pragma once
 | 
| -
 | 
| -#include "base/memory/ref_counted.h"
 | 
| -#include "base/memory/scoped_ptr.h"
 | 
| -#include "base/time.h"
 | 
| -#include "net/base/net_export.h"
 | 
| -#include "net/base/rand_callback.h"
 | 
| -#include "net/dns/dns_config_service.h"
 | 
| -
 | 
| -namespace net {
 | 
| -
 | 
| -class ClientSocketFactory;
 | 
| -class NetLog;
 | 
| -
 | 
| -// Session parameters and state shared between DNS transactions.
 | 
| -// Ref-counted so that DnsClient::Request can keep working in absence of
 | 
| -// DnsClient. A DnsSession must be recreated when DnsConfig changes.
 | 
| -class NET_EXPORT_PRIVATE DnsSession
 | 
| -    : NON_EXPORTED_BASE(public base::RefCounted<DnsSession>) {
 | 
| - public:
 | 
| -  typedef base::Callback<int()> RandCallback;
 | 
| -
 | 
| -  DnsSession(const DnsConfig& config,
 | 
| -             ClientSocketFactory* factory,
 | 
| -             const RandIntCallback& rand_int_callback,
 | 
| -             NetLog* net_log);
 | 
| -
 | 
| -  ClientSocketFactory* socket_factory() const { return socket_factory_.get(); }
 | 
| -  const DnsConfig& config() const { return config_; }
 | 
| -  NetLog* net_log() const { return net_log_; }
 | 
| -
 | 
| -  // Return the next random query ID.
 | 
| -  int NextId() const;
 | 
| -
 | 
| -  // Return the next server address.
 | 
| -  const IPEndPoint& NextServer();
 | 
| -
 | 
| -  // Return the timeout for the next transaction.
 | 
| -  base::TimeDelta NextTimeout(int attempt);
 | 
| -
 | 
| - private:
 | 
| -  friend class base::RefCounted<DnsSession>;
 | 
| -  ~DnsSession();
 | 
| -
 | 
| -  const DnsConfig config_;
 | 
| -  scoped_ptr<ClientSocketFactory> socket_factory_;
 | 
| -  RandCallback rand_callback_;
 | 
| -  NetLog* net_log_;
 | 
| -
 | 
| -  // Current index into |config_.nameservers|.
 | 
| -  int server_index_;
 | 
| -
 | 
| -  // TODO(szym): add current RTT estimate
 | 
| -  // TODO(szym): add flag to indicate DNSSEC is supported
 | 
| -  // TODO(szym): add TCP connection pool to support DNS over TCP
 | 
| -  // TODO(szym): add UDP socket pool ?
 | 
| -
 | 
| -  DISALLOW_COPY_AND_ASSIGN(DnsSession);
 | 
| -};
 | 
| -
 | 
| -}  // namespace net
 | 
| -
 | 
| -#endif  // NET_DNS_DNS_SESSION_H_
 | 
| -
 | 
| 
 |