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 #ifndef NET_HTTP_HTTP_STREAM_FACTORY_H_ | 5 #ifndef NET_HTTP_HTTP_STREAM_FACTORY_H_ |
6 #define NET_HTTP_HTTP_STREAM_FACTORY_H_ | 6 #define NET_HTTP_HTTP_STREAM_FACTORY_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 static void set_force_spdy_always(bool value) { | 225 static void set_force_spdy_always(bool value) { |
226 force_spdy_always_ = value; | 226 force_spdy_always_ = value; |
227 } | 227 } |
228 static bool force_spdy_always() { return force_spdy_always_; } | 228 static bool force_spdy_always() { return force_spdy_always_; } |
229 | 229 |
230 // Add a URL to exclude from forced SPDY. | 230 // Add a URL to exclude from forced SPDY. |
231 static void add_forced_spdy_exclusion(const std::string& value); | 231 static void add_forced_spdy_exclusion(const std::string& value); |
232 // Check if a HostPortPair is excluded from using spdy. | 232 // Check if a HostPortPair is excluded from using spdy. |
233 static bool HasSpdyExclusion(const HostPortPair& endpoint); | 233 static bool HasSpdyExclusion(const HostPortPair& endpoint); |
234 | 234 |
235 // Sets http/1.1 as the only protocol supported via NPN. | 235 // Sets http/1.1 as the only protocol supported via NPN or Alternate-Protocol. |
236 static void EnableNpnHttpOnly(); | 236 static void EnableNpnHttpOnly(); |
237 | 237 |
238 // Sets http/1.1 and spdy/2 (the default spdy protocol) as the protocols | 238 // Sets http/1.1, quic and spdy/2 (the default spdy protocol) as the protocols |
239 // supported via NPN. | 239 // supported via NPN or Alternate-Protocol. |
240 static void EnableNpnSpdy(); | 240 static void EnableNpnSpdy(); |
241 | 241 |
242 // Sets http/1.1, spdy/2, and spdy/3 as the protocols supported via NPN. | 242 // Sets http/1.1, quic, spdy/2, and spdy/3 as the protocols supported via NPN |
| 243 // or Alternate-Protocol. |
243 static void EnableNpnSpdy3(); | 244 static void EnableNpnSpdy3(); |
244 | 245 |
245 // Sets http/1.1, spdy/2, spdy/3, and spdy/3.1 as the protocols | 246 // Sets http/1.1, quic, spdy/2, spdy/3, and spdy/3.1 as the protocols |
246 // supported via NPN. | 247 // supported via NPN or Alternate-Protocol. |
247 static void EnableNpnSpdy31(); | 248 static void EnableNpnSpdy31(); |
248 | 249 |
249 // Sets the protocols supported by NPN (next protocol negotiation) during the | 250 // Sets the protocols supported by NPN (next protocol negotiation) during the |
250 // SSL handshake as well as by HTTP Alternate-Protocol. | 251 // SSL handshake as well as by HTTP Alternate-Protocol. |
251 static void SetNextProtos(const std::vector<std::string>& value); | 252 static void SetNextProtos(const std::vector<std::string>& value); |
252 static bool has_next_protos() { return next_protos_ != NULL; } | 253 static bool has_next_protos() { return next_protos_ != NULL; } |
253 static const std::vector<std::string>& next_protos() { | 254 static const std::vector<std::string>& next_protos() { |
254 return *next_protos_; | 255 return *next_protos_; |
255 } | 256 } |
256 | 257 |
257 protected: | 258 protected: |
258 HttpStreamFactory(); | 259 HttpStreamFactory(); |
259 | 260 |
260 private: | 261 private: |
261 static std::vector<std::string>* next_protos_; | 262 static std::vector<std::string>* next_protos_; |
262 static bool enabled_protocols_[NUM_ALTERNATE_PROTOCOLS]; | 263 static bool enabled_protocols_[NUM_ALTERNATE_PROTOCOLS]; |
263 static bool spdy_enabled_; | 264 static bool spdy_enabled_; |
264 static bool use_alternate_protocols_; | 265 static bool use_alternate_protocols_; |
265 static bool force_spdy_over_ssl_; | 266 static bool force_spdy_over_ssl_; |
266 static bool force_spdy_always_; | 267 static bool force_spdy_always_; |
267 static std::list<HostPortPair>* forced_spdy_exclusions_; | 268 static std::list<HostPortPair>* forced_spdy_exclusions_; |
268 | 269 |
269 DISALLOW_COPY_AND_ASSIGN(HttpStreamFactory); | 270 DISALLOW_COPY_AND_ASSIGN(HttpStreamFactory); |
270 }; | 271 }; |
271 | 272 |
272 } // namespace net | 273 } // namespace net |
273 | 274 |
274 #endif // NET_HTTP_HTTP_STREAM_FACTORY_H_ | 275 #endif // NET_HTTP_HTTP_STREAM_FACTORY_H_ |
OLD | NEW |