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

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

Issue 1572753003: QUIC - Allow cronet apps to specify how many server configs are to be (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments in Patch set 4 Created 4 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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_manager.h" 5 #include "net/http/http_server_properties_manager.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/metrics/histogram_macros.h" 8 #include "base/metrics/histogram_macros.h"
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
(...skipping 388 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); 399 DCHECK(network_task_runner_->RunsTasksOnCurrentThread());
400 return http_server_properties_impl_->GetQuicServerInfo(server_id); 400 return http_server_properties_impl_->GetQuicServerInfo(server_id);
401 } 401 }
402 402
403 const QuicServerInfoMap& HttpServerPropertiesManager::quic_server_info_map() 403 const QuicServerInfoMap& HttpServerPropertiesManager::quic_server_info_map()
404 const { 404 const {
405 DCHECK(network_task_runner_->RunsTasksOnCurrentThread()); 405 DCHECK(network_task_runner_->RunsTasksOnCurrentThread());
406 return http_server_properties_impl_->quic_server_info_map(); 406 return http_server_properties_impl_->quic_server_info_map();
407 } 407 }
408 408
409 size_t HttpServerPropertiesManager::max_server_configs_stored_in_properties()
410 const {
411 DCHECK(network_task_runner_->RunsTasksOnCurrentThread());
412 return http_server_properties_impl_
413 ->max_server_configs_stored_in_properties();
414 }
415
416 void HttpServerPropertiesManager::SetMaxServerConfigsStoredInProperties(
417 size_t max_server_configs_stored_in_properties) {
418 DCHECK(network_task_runner_->RunsTasksOnCurrentThread());
419 return http_server_properties_impl_->SetMaxServerConfigsStoredInProperties(
420 max_server_configs_stored_in_properties);
421 }
422
409 // 423 //
410 // Update the HttpServerPropertiesImpl's cache with data from preferences. 424 // Update the HttpServerPropertiesImpl's cache with data from preferences.
411 // 425 //
412 void HttpServerPropertiesManager::ScheduleUpdateCacheOnPrefThread() { 426 void HttpServerPropertiesManager::ScheduleUpdateCacheOnPrefThread() {
413 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread()); 427 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread());
414 // Cancel pending updates, if any. 428 // Cancel pending updates, if any.
415 pref_cache_update_timer_->Stop(); 429 pref_cache_update_timer_->Stop();
416 StartCacheUpdateTimerOnPrefThread( 430 StartCacheUpdateTimerOnPrefThread(
417 base::TimeDelta::FromMilliseconds(kUpdateCacheDelayMs)); 431 base::TimeDelta::FromMilliseconds(kUpdateCacheDelayMs));
418 } 432 }
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 504
491 // String is host/port pair of spdy server. 505 // String is host/port pair of spdy server.
492 scoped_ptr<ServerList> spdy_servers(new ServerList); 506 scoped_ptr<ServerList> spdy_servers(new ServerList);
493 scoped_ptr<SpdySettingsMap> spdy_settings_map( 507 scoped_ptr<SpdySettingsMap> spdy_settings_map(
494 new SpdySettingsMap(kMaxSpdySettingsHostsToPersist)); 508 new SpdySettingsMap(kMaxSpdySettingsHostsToPersist));
495 scoped_ptr<AlternativeServiceMap> alternative_service_map( 509 scoped_ptr<AlternativeServiceMap> alternative_service_map(
496 new AlternativeServiceMap(kMaxAlternateProtocolHostsToPersist)); 510 new AlternativeServiceMap(kMaxAlternateProtocolHostsToPersist));
497 scoped_ptr<ServerNetworkStatsMap> server_network_stats_map( 511 scoped_ptr<ServerNetworkStatsMap> server_network_stats_map(
498 new ServerNetworkStatsMap(kMaxServerNetworkStatsHostsToPersist)); 512 new ServerNetworkStatsMap(kMaxServerNetworkStatsHostsToPersist));
499 scoped_ptr<QuicServerInfoMap> quic_server_info_map( 513 scoped_ptr<QuicServerInfoMap> quic_server_info_map(
500 new QuicServerInfoMap(kMaxQuicServersToPersist)); 514 new QuicServerInfoMap(QuicServerInfoMap::NO_AUTO_EVICT));
501 515
502 if (version < 4) { 516 if (version < 4) {
503 if (!AddServersData(*servers_dict, spdy_servers.get(), 517 if (!AddServersData(*servers_dict, spdy_servers.get(),
504 spdy_settings_map.get(), alternative_service_map.get(), 518 spdy_settings_map.get(), alternative_service_map.get(),
505 server_network_stats_map.get())) { 519 server_network_stats_map.get())) {
506 detected_corrupted_prefs = true; 520 detected_corrupted_prefs = true;
507 } 521 }
508 } else { 522 } else {
509 for (base::ListValue::const_iterator it = servers_list->begin(); 523 for (base::ListValue::const_iterator it = servers_list->begin();
510 it != servers_list->end(); ++it) { 524 it != servers_list->end(); ++it) {
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
973 it != network_stats_map.rend() && 987 it != network_stats_map.rend() &&
974 count < kMaxServerNetworkStatsHostsToPersist; 988 count < kMaxServerNetworkStatsHostsToPersist;
975 ++it, ++count) { 989 ++it, ++count) {
976 server_network_stats_map->Put(it->first, it->second); 990 server_network_stats_map->Put(it->first, it->second);
977 } 991 }
978 992
979 QuicServerInfoMap* quic_server_info_map = nullptr; 993 QuicServerInfoMap* quic_server_info_map = nullptr;
980 const QuicServerInfoMap& main_quic_server_info_map = 994 const QuicServerInfoMap& main_quic_server_info_map =
981 http_server_properties_impl_->quic_server_info_map(); 995 http_server_properties_impl_->quic_server_info_map();
982 if (main_quic_server_info_map.size() > 0) { 996 if (main_quic_server_info_map.size() > 0) {
983 quic_server_info_map = new QuicServerInfoMap(kMaxQuicServersToPersist); 997 quic_server_info_map =
998 new QuicServerInfoMap(max_server_configs_stored_in_properties());
984 for (const std::pair<const QuicServerId, std::string>& entry : 999 for (const std::pair<const QuicServerId, std::string>& entry :
985 main_quic_server_info_map) { 1000 main_quic_server_info_map) {
986 quic_server_info_map->Put(entry.first, entry.second); 1001 quic_server_info_map->Put(entry.first, entry.second);
987 } 1002 }
988 } 1003 }
989 1004
990 IPAddressNumber* last_quic_addr = new IPAddressNumber; 1005 IPAddressNumber* last_quic_addr = new IPAddressNumber;
991 http_server_properties_impl_->GetSupportsQuic(last_quic_addr); 1006 http_server_properties_impl_->GetSupportsQuic(last_quic_addr);
992 // Update the preferences on the pref thread. 1007 // Update the preferences on the pref thread.
993 pref_task_runner_->PostTask( 1008 pref_task_runner_->PostTask(
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
1250 quic_servers_dict); 1265 quic_servers_dict);
1251 } 1266 }
1252 1267
1253 void HttpServerPropertiesManager::OnHttpServerPropertiesChanged() { 1268 void HttpServerPropertiesManager::OnHttpServerPropertiesChanged() {
1254 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread()); 1269 DCHECK(pref_task_runner_->RunsTasksOnCurrentThread());
1255 if (!setting_prefs_) 1270 if (!setting_prefs_)
1256 ScheduleUpdateCacheOnPrefThread(); 1271 ScheduleUpdateCacheOnPrefThread();
1257 } 1272 }
1258 1273
1259 } // namespace net 1274 } // namespace net
OLDNEW
« no previous file with comments | « net/http/http_server_properties_manager.h ('k') | net/http/http_server_properties_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698