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

Unified Diff: net/base/mock_host_resolver.cc

Issue 10309002: Reimplements net::AddressList without struct addrinfo. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: get_canonical_name -> canonical_name. iterator to indexing Created 8 years, 7 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
« no previous file with comments | « net/base/mapped_host_resolver_unittest.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/base/mock_host_resolver.cc
diff --git a/net/base/mock_host_resolver.cc b/net/base/mock_host_resolver.cc
index 0394451b4aad878d4b80b5ab91cbbe987774db11..156ae8c275502091daf863604c6bf2aa95bd2d1d 100644
--- a/net/base/mock_host_resolver.cc
+++ b/net/base/mock_host_resolver.cc
@@ -17,7 +17,6 @@
#include "net/base/host_cache.h"
#include "net/base/net_errors.h"
#include "net/base/net_util.h"
-#include "net/base/sys_addrinfo.h"
#include "net/base/test_completion_callback.h"
namespace net {
@@ -37,21 +36,14 @@ int ParseAddressList(const std::string& host_list,
*addrlist = AddressList();
std::vector<std::string> addresses;
base::SplitString(host_list, ',', &addresses);
+ addrlist->set_canonical_name(canonical_name);
for (size_t index = 0; index < addresses.size(); ++index) {
IPAddressNumber ip_number;
if (!ParseIPLiteralToNumber(addresses[index], &ip_number)) {
LOG(WARNING) << "Not a supported IP literal: " << addresses[index];
return ERR_UNEXPECTED;
}
-
- AddressList result = AddressList::CreateFromIPAddress(ip_number, -1);
- struct addrinfo* ai = const_cast<struct addrinfo*>(result.head());
- if (index == 0)
- ai->ai_canonname = base::strdup(canonical_name.c_str());
- if (!addrlist->head())
- *addrlist = AddressList::CreateByCopyingFirstAddress(result.head());
- else
- addrlist->Append(result.head());
+ addrlist->push_back(IPEndPoint(ip_number, -1));
}
return OK;
}
@@ -137,8 +129,9 @@ int MockHostResolverBase::ResolveFromIPLiteralOrCache(const RequestInfo& info,
AddressList* addresses) {
IPAddressNumber ip;
if (ParseIPLiteralToNumber(info.hostname(), &ip)) {
- *addresses = AddressList::CreateFromIPAddressWithCname(
- ip, info.port(), info.host_resolver_flags() & HOST_RESOLVER_CANONNAME);
+ *addresses = AddressList::CreateFromIPAddress(ip, info.port());
+ if (info.host_resolver_flags() & HOST_RESOLVER_CANONNAME)
+ addresses->SetDefaultCanonicalName();
return OK;
}
int rv = ERR_DNS_CACHE_MISS;
@@ -149,8 +142,10 @@ int MockHostResolverBase::ResolveFromIPLiteralOrCache(const RequestInfo& info,
const HostCache::Entry* entry = cache_->Lookup(key, base::TimeTicks::Now());
if (entry) {
rv = entry->error;
- if (rv == OK)
- *addresses = CreateAddressListUsingPort(entry->addrlist, info.port());
+ if (rv == OK) {
+ *addresses = entry->addrlist;
+ SetPortOnAddressList(info.port(), addresses);
+ }
}
}
return rv;
@@ -175,8 +170,10 @@ int MockHostResolverBase::ResolveProc(size_t id,
ttl = base::TimeDelta::FromSeconds(kCacheEntryTTLSeconds);
cache_->Set(key, rv, addr, base::TimeTicks::Now(), ttl);
}
- if (rv == OK)
- *addresses = CreateAddressListUsingPort(addr, info.port());
+ if (rv == OK) {
+ *addresses = addr;
+ SetPortOnAddressList(info.port(), addresses);
+ }
return rv;
}
« no previous file with comments | « net/base/mapped_host_resolver_unittest.cc ('k') | net/base/net_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698