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

Side by Side Diff: net/http/http_server_properties_impl.cc

Issue 1531983003: Changes to QuicServerInfoMap initialization to maintain MRU order of the (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_server_network_stats_mru_cache
Patch Set: rebase TOT Created 5 years 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 unified diff | Download patch
« no previous file with comments | « no previous file | net/http/http_server_properties_impl_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/http/http_server_properties_impl.h" 5 #include "net/http/http_server_properties_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 ServerNetworkStatsMap* server_network_stats_map) { 110 ServerNetworkStatsMap* server_network_stats_map) {
111 for (ServerNetworkStatsMap::reverse_iterator it = 111 for (ServerNetworkStatsMap::reverse_iterator it =
112 server_network_stats_map->rbegin(); 112 server_network_stats_map->rbegin();
113 it != server_network_stats_map->rend(); ++it) { 113 it != server_network_stats_map->rend(); ++it) {
114 server_network_stats_map_.Put(it->first, it->second); 114 server_network_stats_map_.Put(it->first, it->second);
115 } 115 }
116 } 116 }
117 117
118 void HttpServerPropertiesImpl::InitializeQuicServerInfoMap( 118 void HttpServerPropertiesImpl::InitializeQuicServerInfoMap(
119 QuicServerInfoMap* quic_server_info_map) { 119 QuicServerInfoMap* quic_server_info_map) {
120 for (const std::pair<QuicServerId, std::string>& entry : 120 // Add the entries from persisted data.
121 *quic_server_info_map) { 121 QuicServerInfoMap temp_map(kMaxQuicServersToPersist);
122 quic_server_info_map_.Put(entry.first, entry.second); 122 for (QuicServerInfoMap::reverse_iterator it = quic_server_info_map->rbegin();
123 it != quic_server_info_map->rend(); ++it) {
124 temp_map.Put(it->first, it->second);
125 }
126
127 quic_server_info_map_.Swap(temp_map);
128
129 // Add the entries from the memory cache.
130 for (QuicServerInfoMap::reverse_iterator it = temp_map.rbegin();
131 it != temp_map.rend(); ++it) {
132 if (quic_server_info_map_.Get(it->first) == quic_server_info_map_.end()) {
133 quic_server_info_map_.Put(it->first, it->second);
134 }
123 } 135 }
124 } 136 }
125 137
126 void HttpServerPropertiesImpl::GetSpdyServerList( 138 void HttpServerPropertiesImpl::GetSpdyServerList(
127 base::ListValue* spdy_server_list, 139 base::ListValue* spdy_server_list,
128 size_t max_size) const { 140 size_t max_size) const {
129 DCHECK(CalledOnValidThread()); 141 DCHECK(CalledOnValidThread());
130 DCHECK(spdy_server_list); 142 DCHECK(spdy_server_list);
131 spdy_server_list->Clear(); 143 spdy_server_list->Clear();
132 size_t count = 0; 144 size_t count = 0;
(...skipping 585 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 base::TimeDelta delay = when > now ? when - now : base::TimeDelta(); 730 base::TimeDelta delay = when > now ? when - now : base::TimeDelta();
719 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( 731 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask(
720 FROM_HERE, 732 FROM_HERE,
721 base::Bind( 733 base::Bind(
722 &HttpServerPropertiesImpl::ExpireBrokenAlternateProtocolMappings, 734 &HttpServerPropertiesImpl::ExpireBrokenAlternateProtocolMappings,
723 weak_ptr_factory_.GetWeakPtr()), 735 weak_ptr_factory_.GetWeakPtr()),
724 delay); 736 delay);
725 } 737 }
726 738
727 } // namespace net 739 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/http/http_server_properties_impl_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698