Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(340)

Side by Side Diff: net/socket/next_proto.h

Issue 723343002: Update from https://crrev.com/304121 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/test_tools/crypto_test_utils_openssl.cc ('k') | net/socket/next_proto.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_SOCKET_NEXT_PROTO_H_ 5 #ifndef NET_SOCKET_NEXT_PROTO_H_
6 #define NET_SOCKET_NEXT_PROTO_H_ 6 #define NET_SOCKET_NEXT_PROTO_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "net/base/net_export.h" 10 #include "net/base/net_export.h"
11 11
12 namespace net { 12 namespace net {
13 13
14 // Next Protocol Negotiation (NPN), if successful, results in agreement on an 14 // Next Protocol Negotiation (NPN), if successful, results in agreement on an
15 // application-level string that specifies the application level protocol to 15 // application-level string that specifies the application level protocol to
16 // use over the TLS connection. NextProto enumerates the application level 16 // use over the TLS connection. NextProto enumerates the application level
17 // protocols that we recognize. Do not change or reuse values, because they 17 // protocols that we recognize. Do not change or reuse values, because they
18 // are used to collect statistics on UMA. Also, values must be in [0,499), 18 // are used to collect statistics on UMA. Also, values must be in [0,499),
19 // because of the way TLS protocol negotiation extension information is added to 19 // because of the way TLS protocol negotiation extension information is added to
20 // UMA histogram. 20 // UMA histogram.
21 enum NextProto { 21 enum NextProto {
22 kProtoUnknown = 0, 22 kProtoUnknown = 0,
23 kProtoHTTP11 = 1, 23 kProtoHTTP11 = 1,
24 kProtoMinimumVersion = kProtoHTTP11, 24 kProtoMinimumVersion = kProtoHTTP11,
25 25
26 kProtoDeprecatedSPDY2 = 100, 26 kProtoDeprecatedSPDY2 = 100,
27 kProtoSPDYMinimumVersion = kProtoDeprecatedSPDY2, 27 kProtoSPDYMinimumVersion = kProtoDeprecatedSPDY2,
28 kProtoSPDYHistogramOffset = kProtoDeprecatedSPDY2,
28 kProtoSPDY3 = 101, 29 kProtoSPDY3 = 101,
29 kProtoSPDY31 = 102, 30 kProtoSPDY31 = 102,
30 // HTTP/2 draft-14 was 103, 31 kProtoSPDY4_14 = 103, // HTTP/2 draft-14
31 kProtoSPDY4 = 104, // SPDY4 is HTTP/2 draft-15. 32 kProtoSPDY4MinimumVersion = kProtoSPDY4_14,
32 kProtoSPDYMaximumVersion = kProtoSPDY4, 33 kProtoSPDY4_15 = 104, // HTTP/2 draft-15
34 kProtoSPDY4MaximumVersion = kProtoSPDY4_15,
35 kProtoSPDYMaximumVersion = kProtoSPDY4MaximumVersion,
33 36
34 kProtoQUIC1SPDY3 = 200, 37 kProtoQUIC1SPDY3 = 200,
35 38
36 kProtoMaximumVersion = kProtoQUIC1SPDY3, 39 kProtoMaximumVersion = kProtoQUIC1SPDY3,
37 }; 40 };
38 41
39 // List of protocols to use for NPN, used for configuring HttpNetworkSessions. 42 // List of protocols to use for NPN, used for configuring HttpNetworkSessions.
40 typedef std::vector<NextProto> NextProtoVector; 43 typedef std::vector<NextProto> NextProtoVector;
41 44
42 // Convenience functions to create NextProtoVector. 45 // Convenience functions to create NextProtoVector.
43 46
44 NET_EXPORT NextProtoVector NextProtosHttpOnly(); 47 NET_EXPORT NextProtoVector NextProtosHttpOnly();
45 48
46 // Default values, which are subject to change over time. Currently just 49 // Default values, which are subject to change over time. Currently just
47 // SPDY 3 and 3.1. 50 // SPDY 3 and 3.1.
48 NET_EXPORT NextProtoVector NextProtosDefaults(); 51 NET_EXPORT NextProtoVector NextProtosDefaults();
49 52
50 NET_EXPORT NextProtoVector NextProtosWithSpdyAndQuic(bool spdy_enabled, 53 NET_EXPORT NextProtoVector NextProtosWithSpdyAndQuic(bool spdy_enabled,
51 bool quic_enabled); 54 bool quic_enabled);
52 55
53 // All of these also enable QUIC. 56 // All of these also enable QUIC.
54 NET_EXPORT NextProtoVector NextProtosSpdy3();
55 NET_EXPORT NextProtoVector NextProtosSpdy31(); 57 NET_EXPORT NextProtoVector NextProtosSpdy31();
56 NET_EXPORT NextProtoVector NextProtosSpdy31WithSpdy2();
57 NET_EXPORT NextProtoVector NextProtosSpdy4Http2(); 58 NET_EXPORT NextProtoVector NextProtosSpdy4Http2();
58 59
59 } // namespace net 60 } // namespace net
60 61
61 #endif // NET_SOCKET_NEXT_PROTO_H_ 62 #endif // NET_SOCKET_NEXT_PROTO_H_
OLDNEW
« no previous file with comments | « net/quic/test_tools/crypto_test_utils_openssl.cc ('k') | net/socket/next_proto.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698