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