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

Unified Diff: net/http/http_server_properties_impl.cc

Issue 188663002: Revert of HttpServerProperties - Implement MRU for AlternateProtocolMap. Persist (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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/http/http_server_properties_impl.h ('k') | net/http/http_server_properties_impl_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/http/http_server_properties_impl.cc
diff --git a/net/http/http_server_properties_impl.cc b/net/http/http_server_properties_impl.cc
index 6d705f1eb6bb61a18492d7f9c8afea9e262011b7..de94dfed7e38e082f1a3fcc41e03c32e70ec3311 100644
--- a/net/http/http_server_properties_impl.cc
+++ b/net/http/http_server_properties_impl.cc
@@ -19,8 +19,7 @@
static const int kDefaultNumHostsToRemember = 200;
HttpServerPropertiesImpl::HttpServerPropertiesImpl()
- : alternate_protocol_map_(AlternateProtocolMap::NO_AUTO_EVICT),
- pipeline_capability_map_(
+ : pipeline_capability_map_(
new CachedPipelineCapabilityMap(kDefaultNumHostsToRemember)),
weak_ptr_factory_(this) {
canoncial_suffixes_.push_back(".c.youtube.com");
@@ -45,24 +44,15 @@
void HttpServerPropertiesImpl::InitializeAlternateProtocolServers(
AlternateProtocolMap* alternate_protocol_map) {
- // Keep all the ALTERNATE_PROTOCOL_BROKEN ones since those don't
- // get persisted.
- for (AlternateProtocolMap::iterator it = alternate_protocol_map_.begin();
- it != alternate_protocol_map_.end();) {
- AlternateProtocolMap::iterator old_it = it;
- ++it;
- if (old_it->second.protocol != ALTERNATE_PROTOCOL_BROKEN) {
- alternate_protocol_map_.Erase(old_it);
- }
- }
-
- // Add the entries from persisted data.
- for (AlternateProtocolMap::reverse_iterator it =
- alternate_protocol_map->rbegin();
- it != alternate_protocol_map->rend(); ++it) {
- alternate_protocol_map_.Put(it->first, it->second);
- }
-
+ // First swap, and then add back all the ALTERNATE_PROTOCOL_BROKEN ones since
+ // those don't get persisted.
+ alternate_protocol_map_.swap(*alternate_protocol_map);
+ for (AlternateProtocolMap::const_iterator it =
+ alternate_protocol_map->begin();
+ it != alternate_protocol_map->end(); ++it) {
+ if (it->second.protocol == ALTERNATE_PROTOCOL_BROKEN)
+ alternate_protocol_map_[it->first] = it->second;
+ }
// Attempt to find canonical servers.
int canonical_ports[] = { 80, 443 };
for (size_t i = 0; i < canoncial_suffixes_.size(); ++i) {
@@ -71,8 +61,8 @@
HostPortPair canonical_host(canonical_suffix, canonical_ports[j]);
// If we already have a valid canonical server, we're done.
if (ContainsKey(canonical_host_to_origin_map_, canonical_host) &&
- (alternate_protocol_map_.Peek(canonical_host_to_origin_map_[
- canonical_host]) != alternate_protocol_map_.end())) {
+ ContainsKey(alternate_protocol_map_,
+ canonical_host_to_origin_map_[canonical_host])) {
continue;
}
// Now attempt to find a server which matches this origin and set it as
@@ -157,7 +147,7 @@
void HttpServerPropertiesImpl::Clear() {
DCHECK(CalledOnValidThread());
spdy_servers_table_.clear();
- alternate_protocol_map_.Clear();
+ alternate_protocol_map_.clear();
spdy_settings_map_.clear();
pipeline_capability_map_->Clear();
}
@@ -195,8 +185,8 @@
}
bool HttpServerPropertiesImpl::HasAlternateProtocol(
- const HostPortPair& server) {
- if (alternate_protocol_map_.Get(server) != alternate_protocol_map_.end() ||
+ const HostPortPair& server) const {
+ if (ContainsKey(alternate_protocol_map_, server) ||
g_forced_alternate_protocol)
return true;
@@ -205,18 +195,19 @@
PortAlternateProtocolPair
HttpServerPropertiesImpl::GetAlternateProtocol(
- const HostPortPair& server) {
+ const HostPortPair& server) const {
DCHECK(HasAlternateProtocol(server));
// First check the map.
- AlternateProtocolMap::iterator it = alternate_protocol_map_.Get(server);
+ AlternateProtocolMap::const_iterator it =
+ alternate_protocol_map_.find(server);
if (it != alternate_protocol_map_.end())
return it->second;
// Next check the canonical host.
CanonicalHostMap::const_iterator canonical_host = GetCanonicalHost(server);
if (canonical_host != canonical_host_to_origin_map_.end())
- return alternate_protocol_map_.Get(canonical_host->second)->second;
+ return alternate_protocol_map_.find(canonical_host->second)->second;
// We must be forcing an alternate.
DCHECK(g_forced_alternate_protocol);
@@ -256,7 +247,7 @@
}
}
- alternate_protocol_map_.Put(server, alternate);
+ alternate_protocol_map_[server] = alternate;
// If this host ends with a canonical suffix, then set it as the
// canonical host.
@@ -272,14 +263,7 @@
void HttpServerPropertiesImpl::SetBrokenAlternateProtocol(
const HostPortPair& server) {
- AlternateProtocolMap::iterator it = alternate_protocol_map_.Get(server);
- if (it != alternate_protocol_map_.end()) {
- it->second.protocol = ALTERNATE_PROTOCOL_BROKEN;
- return;
- }
- PortAlternateProtocolPair alternate;
- alternate.protocol = ALTERNATE_PROTOCOL_BROKEN;
- alternate_protocol_map_.Put(server, alternate);
+ alternate_protocol_map_[server].protocol = ALTERNATE_PROTOCOL_BROKEN;
}
const AlternateProtocolMap&
« no previous file with comments | « net/http/http_server_properties_impl.h ('k') | net/http/http_server_properties_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698