Home | History | Annotate | Download | only in socket
      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 
      9 NextProtoVector NextProtosHttpOnly() {
     10   NextProtoVector next_protos;
     11   next_protos.push_back(kProtoHTTP11);
     12   return next_protos;
     13 }
     14 
     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 
     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 
     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 
     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 
     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 
     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