• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "next_proto.h"
6 
7 namespace net {
8 
NextProtosHttpOnly()9 NextProtoVector NextProtosHttpOnly() {
10   NextProtoVector next_protos;
11   next_protos.push_back(kProtoHTTP11);
12   return next_protos;
13 }
14 
NextProtosDefaults()15 NextProtoVector NextProtosDefaults() {
16   NextProtoVector next_protos;
17   next_protos.push_back(kProtoHTTP11);
18   next_protos.push_back(kProtoSPDY3);
19   next_protos.push_back(kProtoSPDY31);
20   return next_protos;
21 }
22 
NextProtosWithSpdyAndQuic(bool spdy_enabled,bool quic_enabled)23 NextProtoVector NextProtosWithSpdyAndQuic(bool spdy_enabled,
24                                           bool quic_enabled) {
25   NextProtoVector next_protos;
26   next_protos.push_back(kProtoHTTP11);
27   if (quic_enabled)
28     next_protos.push_back(kProtoQUIC1SPDY3);
29   if (spdy_enabled) {
30     next_protos.push_back(kProtoSPDY3);
31     next_protos.push_back(kProtoSPDY31);
32   }
33   return next_protos;
34 }
35 
NextProtosSpdy3()36 NextProtoVector NextProtosSpdy3() {
37   NextProtoVector next_protos;
38   next_protos.push_back(kProtoHTTP11);
39   next_protos.push_back(kProtoQUIC1SPDY3);
40   next_protos.push_back(kProtoSPDY3);
41   return next_protos;
42 }
43 
NextProtosSpdy31()44 NextProtoVector NextProtosSpdy31() {
45   NextProtoVector next_protos;
46   next_protos.push_back(kProtoHTTP11);
47   next_protos.push_back(kProtoQUIC1SPDY3);
48   next_protos.push_back(kProtoSPDY3);
49   next_protos.push_back(kProtoSPDY31);
50   return next_protos;
51 }
52 
NextProtosSpdy31WithSpdy2()53 NextProtoVector NextProtosSpdy31WithSpdy2() {
54   NextProtoVector next_protos;
55   next_protos.push_back(kProtoHTTP11);
56   next_protos.push_back(kProtoQUIC1SPDY3);
57   next_protos.push_back(kProtoDeprecatedSPDY2);
58   next_protos.push_back(kProtoSPDY3);
59   next_protos.push_back(kProtoSPDY31);
60   return next_protos;
61 }
62 
NextProtosSpdy4Http2()63 NextProtoVector NextProtosSpdy4Http2() {
64   NextProtoVector next_protos;
65   next_protos.push_back(kProtoHTTP11);
66   next_protos.push_back(kProtoQUIC1SPDY3);
67   next_protos.push_back(kProtoSPDY3);
68   next_protos.push_back(kProtoSPDY31);
69   next_protos.push_back(kProtoSPDY4);
70   return next_protos;
71 }
72 
73 }  // namespace net
74