| Index: net/dns/dns_transaction.h
|
| diff --git a/net/dns/dns_transaction.h b/net/dns/dns_transaction.h
|
| deleted file mode 100644
|
| index e6a1d029d934211afcb455c80f021b4d393679e2..0000000000000000000000000000000000000000
|
| --- a/net/dns/dns_transaction.h
|
| +++ /dev/null
|
| @@ -1,104 +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_TRANSACTION_H_
|
| -#define NET_DNS_DNS_TRANSACTION_H_
|
| -#pragma once
|
| -
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "base/memory/ref_counted.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/timer.h"
|
| -#include "base/threading/non_thread_safe.h"
|
| -#include "net/base/completion_callback.h"
|
| -#include "net/base/ip_endpoint.h"
|
| -#include "net/base/net_export.h"
|
| -#include "net/base/net_log.h"
|
| -#include "net/base/rand_callback.h"
|
| -
|
| -namespace net {
|
| -
|
| -class DatagramClientSocket;
|
| -class DnsQuery;
|
| -class DnsResponse;
|
| -class DnsSession;
|
| -
|
| -// Performs a single asynchronous DNS transaction over UDP,
|
| -// which consists of sending out a DNS query, waiting for a response, and
|
| -// returning the response that it matches.
|
| -class NET_EXPORT_PRIVATE DnsTransaction :
|
| - NON_EXPORTED_BASE(public base::NonThreadSafe) {
|
| - public:
|
| - typedef base::Callback<void(DnsTransaction*, int)> ResultCallback;
|
| -
|
| - // Create new transaction using the parameters and state in |session|.
|
| - // Issues query for name |qname| (in DNS format) type |qtype| and class IN.
|
| - // Calls |callback| on completion or timeout.
|
| - // TODO(szym): change dependency to (IPEndPoint, Socket, DnsQuery, callback)
|
| - DnsTransaction(DnsSession* session,
|
| - const base::StringPiece& qname,
|
| - uint16 qtype,
|
| - const ResultCallback& callback,
|
| - const BoundNetLog& source_net_log);
|
| - ~DnsTransaction();
|
| -
|
| - const DnsQuery* query() const { return query_.get(); }
|
| -
|
| - const DnsResponse* response() const { return response_.get(); }
|
| -
|
| - // Starts the resolution process. Will return ERR_IO_PENDING and will
|
| - // notify the caller via |delegate|. Should only be called once.
|
| - int Start();
|
| -
|
| - private:
|
| - enum State {
|
| - STATE_CONNECT,
|
| - STATE_CONNECT_COMPLETE,
|
| - STATE_SEND_QUERY,
|
| - STATE_SEND_QUERY_COMPLETE,
|
| - STATE_READ_RESPONSE,
|
| - STATE_READ_RESPONSE_COMPLETE,
|
| - STATE_NONE,
|
| - };
|
| -
|
| - int DoLoop(int result);
|
| - void DoCallback(int result);
|
| - void OnIOComplete(int result);
|
| -
|
| - int DoConnect();
|
| - int DoConnectComplete(int result);
|
| - int DoSendQuery();
|
| - int DoSendQueryComplete(int result);
|
| - int DoReadResponse();
|
| - int DoReadResponseComplete(int result);
|
| -
|
| - // Fixed number of attempts are made to send a query and read a response,
|
| - // and at the start of each, a timer is started with increasing delays.
|
| - void StartTimer(base::TimeDelta delay);
|
| - void RevokeTimer();
|
| - void OnTimeout();
|
| -
|
| - scoped_refptr<DnsSession> session_;
|
| - IPEndPoint dns_server_;
|
| - scoped_ptr<DnsQuery> query_;
|
| - ResultCallback callback_;
|
| - scoped_ptr<DnsResponse> response_;
|
| - scoped_ptr<DatagramClientSocket> socket_;
|
| -
|
| - // Number of retry attempts so far.
|
| - int attempts_;
|
| -
|
| - State next_state_;
|
| - base::OneShotTimer<DnsTransaction> timer_;
|
| -
|
| - BoundNetLog net_log_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DnsTransaction);
|
| -};
|
| -
|
| -} // namespace net
|
| -
|
| -#endif // NET_DNS_DNS_TRANSACTION_H_
|
|
|