summaryrefslogtreecommitdiffstats
path: root/net/base/host_cache.cc
diff options
context:
space:
mode:
authoreroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-21 19:12:57 +0000
committereroman@chromium.org <eroman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-21 19:12:57 +0000
commit123ab1e334b44051297c8d4242e81044478c6588 (patch)
tree7ba32a449e6715f5f4bace667b161b129745b78d /net/base/host_cache.cc
parent57d1ec8fc4b72112bd4d32df76c55395bf33681a (diff)
downloadchromium_src-123ab1e334b44051297c8d4242e81044478c6588.zip
chromium_src-123ab1e334b44051297c8d4242e81044478c6588.tar.gz
chromium_src-123ab1e334b44051297c8d4242e81044478c6588.tar.bz2
Add a mechanism to disable IPv6.
(1) Adds the ability to specify the address family on a per-request basis. (2) Exposes a --disable-ipv6 flag to chrome that changes the default address family from AF_UNSPEC to AF_INET (same sort of thing Firefox does). (3) Changes the backing datastructure for HostCache:EntryMap and HostResolverImpl::JobMap from a "hash_map" to a "std::map". This was for consistency with other code (when I went to add a custom hash trait, I couldn't find any existing code which was using hashmap for custom keys). (4) Updates about:net-internals to display an address family for the hostcache dump (since it is now a part of the key). This change is in anticipation of turning off IPv6 host resolving in the PAC utility functions (see bug 24641). But it is also a feature addition. BUG=24641 TEST=HostCacheTest.AddressFamilyIsPartOfKey Review URL: http://codereview.chromium.org/302010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29686 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/host_cache.cc')
-rw-r--r--net/base/host_cache.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/base/host_cache.cc b/net/base/host_cache.cc
index 53af5b4..fbe2a7e 100644
--- a/net/base/host_cache.cc
+++ b/net/base/host_cache.cc
@@ -29,12 +29,12 @@ HostCache::HostCache(size_t max_entries, size_t cache_duration_ms)
HostCache::~HostCache() {
}
-const HostCache::Entry* HostCache::Lookup(const std::string& hostname,
+const HostCache::Entry* HostCache::Lookup(const Key& key,
base::TimeTicks now) const {
if (caching_is_disabled())
return NULL;
- EntryMap::const_iterator it = entries_.find(hostname);
+ EntryMap::const_iterator it = entries_.find(key);
if (it == entries_.end())
return NULL; // Not found.
@@ -45,7 +45,7 @@ const HostCache::Entry* HostCache::Lookup(const std::string& hostname,
return NULL;
}
-HostCache::Entry* HostCache::Set(const std::string& hostname,
+HostCache::Entry* HostCache::Set(const Key& key,
int error,
const AddressList addrlist,
base::TimeTicks now) {
@@ -55,7 +55,7 @@ HostCache::Entry* HostCache::Set(const std::string& hostname,
base::TimeTicks expiration = now +
base::TimeDelta::FromMilliseconds(cache_duration_ms_);
- scoped_refptr<Entry>& entry = entries_[hostname];
+ scoped_refptr<Entry>& entry = entries_[key];
if (!entry) {
// Entry didn't exist, creating one now.
Entry* ptr = new Entry(error, addrlist, expiration);