| OLD | NEW |
| 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 "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 96 } | 96 } |
| 97 | 97 |
| 98 void HttpServerPropertiesImpl::InitializeSpdySettingsServers( | 98 void HttpServerPropertiesImpl::InitializeSpdySettingsServers( |
| 99 SpdySettingsMap* spdy_settings_map) { | 99 SpdySettingsMap* spdy_settings_map) { |
| 100 for (SpdySettingsMap::reverse_iterator it = spdy_settings_map->rbegin(); | 100 for (SpdySettingsMap::reverse_iterator it = spdy_settings_map->rbegin(); |
| 101 it != spdy_settings_map->rend(); ++it) { | 101 it != spdy_settings_map->rend(); ++it) { |
| 102 spdy_settings_map_.Put(it->first, it->second); | 102 spdy_settings_map_.Put(it->first, it->second); |
| 103 } | 103 } |
| 104 } | 104 } |
| 105 | 105 |
| 106 void HttpServerPropertiesImpl::InitializeSupportsQuic( |
| 107 SupportsQuicMap* supports_quic_map) { |
| 108 for (SupportsQuicMap::reverse_iterator it = supports_quic_map->rbegin(); |
| 109 it != supports_quic_map->rend(); |
| 110 ++it) { |
| 111 supports_quic_map_.insert(std::make_pair(it->first, it->second)); |
| 112 } |
| 113 } |
| 114 |
| 106 void HttpServerPropertiesImpl::GetSpdyServerList( | 115 void HttpServerPropertiesImpl::GetSpdyServerList( |
| 107 base::ListValue* spdy_server_list, | 116 base::ListValue* spdy_server_list, |
| 108 size_t max_size) const { | 117 size_t max_size) const { |
| 109 DCHECK(CalledOnValidThread()); | 118 DCHECK(CalledOnValidThread()); |
| 110 DCHECK(spdy_server_list); | 119 DCHECK(spdy_server_list); |
| 111 spdy_server_list->Clear(); | 120 spdy_server_list->Clear(); |
| 112 size_t count = 0; | 121 size_t count = 0; |
| 113 // Get the list of servers (host/port) that support SPDY. | 122 // Get the list of servers (host/port) that support SPDY. |
| 114 for (SpdyServerHostPortMap::const_iterator it = spdy_servers_map_.begin(); | 123 for (SpdyServerHostPortMap::const_iterator it = spdy_servers_map_.begin(); |
| 115 it != spdy_servers_map_.end() && count < max_size; ++it) { | 124 it != spdy_servers_map_.end() && count < max_size; ++it) { |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 base::WeakPtr<HttpServerProperties> HttpServerPropertiesImpl::GetWeakPtr() { | 160 base::WeakPtr<HttpServerProperties> HttpServerPropertiesImpl::GetWeakPtr() { |
| 152 return weak_ptr_factory_.GetWeakPtr(); | 161 return weak_ptr_factory_.GetWeakPtr(); |
| 153 } | 162 } |
| 154 | 163 |
| 155 void HttpServerPropertiesImpl::Clear() { | 164 void HttpServerPropertiesImpl::Clear() { |
| 156 DCHECK(CalledOnValidThread()); | 165 DCHECK(CalledOnValidThread()); |
| 157 spdy_servers_map_.Clear(); | 166 spdy_servers_map_.Clear(); |
| 158 alternate_protocol_map_.Clear(); | 167 alternate_protocol_map_.Clear(); |
| 159 canonical_host_to_origin_map_.clear(); | 168 canonical_host_to_origin_map_.clear(); |
| 160 spdy_settings_map_.Clear(); | 169 spdy_settings_map_.Clear(); |
| 170 supports_quic_map_.clear(); |
| 161 } | 171 } |
| 162 | 172 |
| 163 bool HttpServerPropertiesImpl::SupportsSpdy( | 173 bool HttpServerPropertiesImpl::SupportsSpdy( |
| 164 const net::HostPortPair& host_port_pair) { | 174 const net::HostPortPair& host_port_pair) { |
| 165 DCHECK(CalledOnValidThread()); | 175 DCHECK(CalledOnValidThread()); |
| 166 if (host_port_pair.host().empty()) | 176 if (host_port_pair.host().empty()) |
| 167 return false; | 177 return false; |
| 168 std::string spdy_server = GetFlattenedSpdyServer(host_port_pair); | 178 std::string spdy_server = GetFlattenedSpdyServer(host_port_pair); |
| 169 | 179 |
| 170 SpdyServerHostPortMap::iterator spdy_host_port = | 180 SpdyServerHostPortMap::iterator spdy_host_port = |
| (...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 399 | 409 |
| 400 void HttpServerPropertiesImpl::ClearAllSpdySettings() { | 410 void HttpServerPropertiesImpl::ClearAllSpdySettings() { |
| 401 spdy_settings_map_.Clear(); | 411 spdy_settings_map_.Clear(); |
| 402 } | 412 } |
| 403 | 413 |
| 404 const SpdySettingsMap& | 414 const SpdySettingsMap& |
| 405 HttpServerPropertiesImpl::spdy_settings_map() const { | 415 HttpServerPropertiesImpl::spdy_settings_map() const { |
| 406 return spdy_settings_map_; | 416 return spdy_settings_map_; |
| 407 } | 417 } |
| 408 | 418 |
| 419 SupportsQuic HttpServerPropertiesImpl::GetSupportsQuic( |
| 420 const HostPortPair& host_port_pair) const { |
| 421 SupportsQuicMap::const_iterator it = supports_quic_map_.find(host_port_pair); |
| 422 if (it == supports_quic_map_.end()) { |
| 423 CR_DEFINE_STATIC_LOCAL(SupportsQuic, kEmptySupportsQuic, ()); |
| 424 return kEmptySupportsQuic; |
| 425 } |
| 426 return it->second; |
| 427 } |
| 428 |
| 429 void HttpServerPropertiesImpl::SetSupportsQuic( |
| 430 const HostPortPair& host_port_pair, |
| 431 bool used_quic, |
| 432 const std::string& address) { |
| 433 SupportsQuic supports_quic(used_quic, address); |
| 434 supports_quic_map_.insert(std::make_pair(host_port_pair, supports_quic)); |
| 435 } |
| 436 |
| 437 const SupportsQuicMap& |
| 438 HttpServerPropertiesImpl::supports_quic_map() const { |
| 439 return supports_quic_map_; |
| 440 } |
| 441 |
| 409 void HttpServerPropertiesImpl::SetServerNetworkStats( | 442 void HttpServerPropertiesImpl::SetServerNetworkStats( |
| 410 const HostPortPair& host_port_pair, | 443 const HostPortPair& host_port_pair, |
| 411 NetworkStats stats) { | 444 NetworkStats stats) { |
| 412 server_network_stats_map_[host_port_pair] = stats; | 445 server_network_stats_map_[host_port_pair] = stats; |
| 413 } | 446 } |
| 414 | 447 |
| 415 const HttpServerProperties::NetworkStats* | 448 const HttpServerProperties::NetworkStats* |
| 416 HttpServerPropertiesImpl::GetServerNetworkStats( | 449 HttpServerPropertiesImpl::GetServerNetworkStats( |
| 417 const HostPortPair& host_port_pair) const { | 450 const HostPortPair& host_port_pair) const { |
| 418 ServerNetworkStatsMap::const_iterator it = | 451 ServerNetworkStatsMap::const_iterator it = |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 478 base::TimeDelta delay = when > now ? when - now : base::TimeDelta(); | 511 base::TimeDelta delay = when > now ? when - now : base::TimeDelta(); |
| 479 base::MessageLoop::current()->PostDelayedTask( | 512 base::MessageLoop::current()->PostDelayedTask( |
| 480 FROM_HERE, | 513 FROM_HERE, |
| 481 base::Bind( | 514 base::Bind( |
| 482 &HttpServerPropertiesImpl::ExpireBrokenAlternateProtocolMappings, | 515 &HttpServerPropertiesImpl::ExpireBrokenAlternateProtocolMappings, |
| 483 weak_ptr_factory_.GetWeakPtr()), | 516 weak_ptr_factory_.GetWeakPtr()), |
| 484 delay); | 517 delay); |
| 485 } | 518 } |
| 486 | 519 |
| 487 } // namespace net | 520 } // namespace net |
| OLD | NEW |