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

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

Issue 1860343002: SHP 1: Change SupportsSpdy dict to use SchemeHostPort as the key. No change to Pref data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 (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 #ifndef NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_ 5 #ifndef NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_
6 #define NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_ 6 #define NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // Returns the canonical host suffix for |host|, or std::string() if none 72 // Returns the canonical host suffix for |host|, or std::string() if none
73 // exists. 73 // exists.
74 std::string GetCanonicalSuffix(const std::string& host); 74 std::string GetCanonicalSuffix(const std::string& host);
75 75
76 // ----------------------------- 76 // -----------------------------
77 // HttpServerProperties methods: 77 // HttpServerProperties methods:
78 // ----------------------------- 78 // -----------------------------
79 79
80 base::WeakPtr<HttpServerProperties> GetWeakPtr() override; 80 base::WeakPtr<HttpServerProperties> GetWeakPtr() override;
81 void Clear() override; 81 void Clear() override;
82 bool SupportsRequestPriority(const HostPortPair& server) override; 82 bool SupportsRequestPriority(const url::SchemeHostPort& server) override;
83 bool GetSupportsSpdy(const HostPortPair& server) override; 83 bool GetSupportsSpdy(const url::SchemeHostPort& server) override;
84 void SetSupportsSpdy(const HostPortPair& server, bool support_spdy) override; 84 void SetSupportsSpdy(const url::SchemeHostPort& server,
85 bool support_spdy) override;
85 bool RequiresHTTP11(const HostPortPair& server) override; 86 bool RequiresHTTP11(const HostPortPair& server) override;
86 void SetHTTP11Required(const HostPortPair& server) override; 87 void SetHTTP11Required(const HostPortPair& server) override;
87 void MaybeForceHTTP11(const HostPortPair& server, 88 void MaybeForceHTTP11(const HostPortPair& server,
88 SSLConfig* ssl_config) override; 89 SSLConfig* ssl_config) override;
89 AlternativeServiceVector GetAlternativeServices( 90 AlternativeServiceVector GetAlternativeServices(
90 const HostPortPair& origin) override; 91 const HostPortPair& origin) override;
91 bool SetAlternativeService(const HostPortPair& origin, 92 bool SetAlternativeService(const HostPortPair& origin,
92 const AlternativeService& alternative_service, 93 const AlternativeService& alternative_service,
93 base::Time expiration) override; 94 base::Time expiration) override;
94 bool SetAlternativeServices(const HostPortPair& origin, 95 bool SetAlternativeServices(const HostPortPair& origin,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 const std::string& server_info) override; 128 const std::string& server_info) override;
128 const std::string* GetQuicServerInfo(const QuicServerId& server_id) override; 129 const std::string* GetQuicServerInfo(const QuicServerId& server_id) override;
129 const QuicServerInfoMap& quic_server_info_map() const override; 130 const QuicServerInfoMap& quic_server_info_map() const override;
130 size_t max_server_configs_stored_in_properties() const override; 131 size_t max_server_configs_stored_in_properties() const override;
131 void SetMaxServerConfigsStoredInProperties( 132 void SetMaxServerConfigsStoredInProperties(
132 size_t max_server_configs_stored_in_properties) override; 133 size_t max_server_configs_stored_in_properties) override;
133 134
134 private: 135 private:
135 friend class HttpServerPropertiesImplPeer; 136 friend class HttpServerPropertiesImplPeer;
136 137
137 // |spdy_servers_map_| has flattened representation of servers (host, port) 138 // |spdy_servers_map_| has flattened representation of servers
138 // that either support or not support SPDY protocol. 139 // (scheme, host, port) that either support or not support SPDY protocol.
139 typedef base::MRUCache<std::string, bool> SpdyServerHostPortMap; 140 typedef base::MRUCache<std::string, bool> SpdyServerSchemeHostPortMap;
Ryan Hamilton 2016/04/06 19:16:08 How about just SpdyServerMap?
Zhongyi Shi 2016/04/07 00:31:18 Done.
140 typedef std::map<HostPortPair, HostPortPair> CanonicalHostMap; 141 typedef std::map<HostPortPair, HostPortPair> CanonicalHostMap;
141 typedef std::vector<std::string> CanonicalSufficList; 142 typedef std::vector<std::string> CanonicalSufficList;
142 typedef std::set<HostPortPair> Http11ServerHostPortSet; 143 typedef std::set<HostPortPair> Http11ServerHostPortSet;
143 144
144 // Linked hash map from AlternativeService to expiration time. This container 145 // Linked hash map from AlternativeService to expiration time. This container
145 // is a queue with O(1) enqueue and dequeue, and a hash_map with O(1) lookup 146 // is a queue with O(1) enqueue and dequeue, and a hash_map with O(1) lookup
146 // at the same time. 147 // at the same time.
147 typedef linked_hash_map<AlternativeService, 148 typedef linked_hash_map<AlternativeService,
148 base::TimeTicks, 149 base::TimeTicks,
149 AlternativeServiceHash> 150 AlternativeServiceHash>
150 BrokenAlternativeServices; 151 BrokenAlternativeServices;
151 // Map to the number of times each alternative service has been marked broken. 152 // Map to the number of times each alternative service has been marked broken.
152 typedef std::map<AlternativeService, int> RecentlyBrokenAlternativeServices; 153 typedef std::map<AlternativeService, int> RecentlyBrokenAlternativeServices;
153 154
154 // Return the iterator for |server|, or for its canonical host, or end. 155 // Return the iterator for |server|, or for its canonical host, or end.
155 AlternativeServiceMap::const_iterator GetAlternateProtocolIterator( 156 AlternativeServiceMap::const_iterator GetAlternateProtocolIterator(
156 const HostPortPair& server); 157 const HostPortPair& server);
157 158
158 // Return the canonical host for |server|, or end if none exists. 159 // Return the canonical host for |server|, or end if none exists.
159 CanonicalHostMap::const_iterator GetCanonicalHost(HostPortPair server) const; 160 CanonicalHostMap::const_iterator GetCanonicalHost(HostPortPair server) const;
160 161
161 void RemoveCanonicalHost(const HostPortPair& server); 162 void RemoveCanonicalHost(const HostPortPair& server);
162 void ExpireBrokenAlternateProtocolMappings(); 163 void ExpireBrokenAlternateProtocolMappings();
163 void ScheduleBrokenAlternateProtocolMappingsExpiration(); 164 void ScheduleBrokenAlternateProtocolMappingsExpiration();
164 165
165 SpdyServerHostPortMap spdy_servers_map_; 166 SpdyServerSchemeHostPortMap spdy_servers_map_;
166 Http11ServerHostPortSet http11_servers_; 167 Http11ServerHostPortSet http11_servers_;
167 168
168 AlternativeServiceMap alternative_service_map_; 169 AlternativeServiceMap alternative_service_map_;
169 BrokenAlternativeServices broken_alternative_services_; 170 BrokenAlternativeServices broken_alternative_services_;
170 // Class invariant: Every alternative service in broken_alternative_services_ 171 // Class invariant: Every alternative service in broken_alternative_services_
171 // must also be in recently_broken_alternative_services_. 172 // must also be in recently_broken_alternative_services_.
172 RecentlyBrokenAlternativeServices recently_broken_alternative_services_; 173 RecentlyBrokenAlternativeServices recently_broken_alternative_services_;
173 174
174 IPAddress last_quic_address_; 175 IPAddress last_quic_address_;
175 SpdySettingsMap spdy_settings_map_; 176 SpdySettingsMap spdy_settings_map_;
(...skipping 10 matching lines...) Expand all
186 size_t max_server_configs_stored_in_properties_; 187 size_t max_server_configs_stored_in_properties_;
187 188
188 base::WeakPtrFactory<HttpServerPropertiesImpl> weak_ptr_factory_; 189 base::WeakPtrFactory<HttpServerPropertiesImpl> weak_ptr_factory_;
189 190
190 DISALLOW_COPY_AND_ASSIGN(HttpServerPropertiesImpl); 191 DISALLOW_COPY_AND_ASSIGN(HttpServerPropertiesImpl);
191 }; 192 };
192 193
193 } // namespace net 194 } // namespace net
194 195
195 #endif // NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_ 196 #endif // NET_HTTP_HTTP_SERVER_PROPERTIES_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698