Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Unified Diff: net/dns/dns_client.cc

Issue 10442098: [net/dns] Resolve AF_UNSPEC on dual-stacked systems. Sort addresses according to RFC3484. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: updated needs_sort Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/dns/dns_client.cc
diff --git a/net/dns/dns_client.cc b/net/dns/dns_client.cc
index 5381452f9e2c2713c7cd83d797f553eb10d2eac0..859fc274dfe086af025bc767ce53612e5e9bfe2f 100644
--- a/net/dns/dns_client.cc
+++ b/net/dns/dns_client.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/rand_util.h"
#include "net/base/net_log.h"
+#include "net/dns/address_sorter.h"
#include "net/dns/dns_config_service.h"
#include "net/dns/dns_session.h"
#include "net/dns/dns_transaction.h"
@@ -18,7 +19,9 @@ namespace {
class DnsClientImpl : public DnsClient {
public:
- explicit DnsClientImpl(NetLog* net_log) : net_log_(net_log) {}
+ explicit DnsClientImpl(NetLog* net_log)
+ : address_sorter_(AddressSorter::CreateAddressSorter()),
+ net_log_(net_log) {}
virtual void SetConfig(const DnsConfig& config) OVERRIDE {
factory_.reset();
@@ -40,9 +43,14 @@ class DnsClientImpl : public DnsClient {
return session_.get() ? factory_.get() : NULL;
}
+ virtual AddressSorter* GetAddressSorter() OVERRIDE {
+ return address_sorter_.get();
+ }
+
private:
scoped_refptr<DnsSession> session_;
scoped_ptr<DnsTransactionFactory> factory_;
+ scoped_ptr<AddressSorter> address_sorter_;
NetLog* net_log_;
};

Powered by Google App Engine
This is Rietveld 408576698