| Index: net/dns/dns_query.h
|
| diff --git a/net/dns/dns_query.h b/net/dns/dns_query.h
|
| index c6bd3bc1ceb608836251e49b52980628bde65ccc..e8511134354265df87966525e1a27dd90a740c12 100644
|
| --- a/net/dns/dns_query.h
|
| +++ b/net/dns/dns_query.h
|
| @@ -6,53 +6,41 @@
|
| #define NET_DNS_DNS_QUERY_H_
|
| #pragma once
|
|
|
| -#include <string>
|
| -
|
| +#include "base/basictypes.h"
|
| #include "base/memory/ref_counted.h"
|
| +#include "base/string_piece.h"
|
| #include "net/base/net_export.h"
|
| -#include "net/base/rand_callback.h"
|
|
|
| namespace net {
|
|
|
| class IOBufferWithSize;
|
|
|
| // Represents on-the-wire DNS query message as an object.
|
| +// TODO(szym): add support for the OPT pseudo-RR (EDNS0/DNSSEC).
|
| class NET_EXPORT_PRIVATE DnsQuery {
|
| public:
|
| // Constructs a query message from |qname| which *MUST* be in a valid
|
| - // DNS name format, and |qtype| which must be either kDNS_A or kDNS_AAAA.
|
| -
|
| - // Every generated object has a random ID, hence two objects generated
|
| - // with the same set of constructor arguments are generally not equal;
|
| - // there is a 1/2^16 chance of them being equal due to size of |id_|.
|
| - DnsQuery(const std::string& qname,
|
| - uint16 qtype,
|
| - const RandIntCallback& rand_int_cb);
|
| + // DNS name format, and |qtype|. The qclass is set to IN.
|
| + DnsQuery(uint16 id, const base::StringPiece& qname, uint16 qtype);
|
| ~DnsQuery();
|
|
|
| - // Clones |this| verbatim, with ID field of the header regenerated.
|
| - DnsQuery* CloneWithNewId() const;
|
| + // Clones |this| verbatim, with ID field of the header set to |id|.
|
| + DnsQuery* CloneWithNewId(uint16 id) const;
|
|
|
| // DnsQuery field accessors.
|
| uint16 id() const;
|
| + base::StringPiece qname() const;
|
| uint16 qtype() const;
|
|
|
| - // Returns the size of the Question section of the query. Used when
|
| - // matching the response.
|
| - size_t question_size() const;
|
| -
|
| - // Returns pointer to the Question section of the query. Used when
|
| - // matching the response.
|
| - const char* question_data() const;
|
| + // Returns the Question section of the query. Used when matching the
|
| + // response.
|
| + base::StringPiece question() const;
|
|
|
| // IOBuffer accessor to be used for writing out the query.
|
| IOBufferWithSize* io_buffer() const { return io_buffer_; }
|
|
|
| private:
|
| - const std::string qname() const;
|
| -
|
| - // Randomizes ID field of the query message.
|
| - void RandomizeId();
|
| + DnsQuery(const DnsQuery& orig, uint16 id);
|
|
|
| // Size of the DNS name (*NOT* hostname) we are trying to resolve; used
|
| // to calculate offsets.
|
| @@ -61,9 +49,6 @@ class NET_EXPORT_PRIVATE DnsQuery {
|
| // Contains query bytes to be consumed by higher level Write() call.
|
| scoped_refptr<IOBufferWithSize> io_buffer_;
|
|
|
| - // PRNG function for generating IDs.
|
| - RandIntCallback rand_int_cb_;
|
| -
|
| DISALLOW_COPY_AND_ASSIGN(DnsQuery);
|
| };
|
|
|
|
|