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