Home | History | Annotate | Download | only in socket
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef NET_SOCKET_NEXT_PROTO_H_
      6 #define NET_SOCKET_NEXT_PROTO_H_
      7 
      8 namespace net {
      9 
     10 // Next Protocol Negotiation (NPN), if successful, results in agreement on an
     11 // application-level string that specifies the application level protocol to
     12 // use over the TLS connection. NextProto enumerates the application level
     13 // protocols that we recognise.
     14 enum NextProto {
     15   kProtoUnknown = 0,
     16   kProtoHTTP11 = 1,
     17   kProtoMinimumVersion = kProtoHTTP11,
     18 
     19   // TODO(akalin): Stop advertising SPDY/1 and remove this.
     20   kProtoSPDY1 = 2,
     21   kProtoSPDYMinimumVersion = kProtoSPDY1,
     22   kProtoSPDY2 = 3,
     23   // TODO(akalin): Stop adverising SPDY/2.1, too.
     24   kProtoSPDY21 = 4,
     25   kProtoSPDY3 = 5,
     26   kProtoSPDY31 = 6,
     27   kProtoSPDY4a2 = 7,
     28   // We lump in HTTP/2 with the SPDY protocols for now.
     29   kProtoHTTP2Draft04 = 8,
     30   kProtoSPDYMaximumVersion = kProtoHTTP2Draft04,
     31 
     32   kProtoQUIC1SPDY3 = 9,
     33 
     34   kProtoMaximumVersion = kProtoQUIC1SPDY3,
     35 };
     36 
     37 }  // namespace net
     38 
     39 #endif  // NET_SOCKET_NEXT_PROTO_H_
     40