OLD | NEW |
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_QUIC_QUIC_PROTOCOL_H_ | 5 #ifndef NET_QUIC_QUIC_PROTOCOL_H_ |
6 #define NET_QUIC_QUIC_PROTOCOL_H_ | 6 #define NET_QUIC_QUIC_PROTOCOL_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <limits> | 9 #include <limits> |
10 #include <map> | 10 #include <map> |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 // QuicVersionToString. | 274 // QuicVersionToString. |
275 enum QuicVersion { | 275 enum QuicVersion { |
276 // Special case to indicate unknown/unsupported QUIC version. | 276 // Special case to indicate unknown/unsupported QUIC version. |
277 QUIC_VERSION_UNSUPPORTED = 0, | 277 QUIC_VERSION_UNSUPPORTED = 0, |
278 | 278 |
279 QUIC_VERSION_16 = 16, // STOP_WAITING frame. | 279 QUIC_VERSION_16 = 16, // STOP_WAITING frame. |
280 QUIC_VERSION_18 = 18, // PING frame. | 280 QUIC_VERSION_18 = 18, // PING frame. |
281 QUIC_VERSION_19 = 19, // Connection level flow control. | 281 QUIC_VERSION_19 = 19, // Connection level flow control. |
282 QUIC_VERSION_20 = 20, // Independent stream/connection flow control windows. | 282 QUIC_VERSION_20 = 20, // Independent stream/connection flow control windows. |
283 QUIC_VERSION_21 = 21, // Headers/crypto streams are flow controlled. | 283 QUIC_VERSION_21 = 21, // Headers/crypto streams are flow controlled. |
| 284 QUIC_VERSION_22 = 22, // Send Server Config Update messages on crypto stream. |
284 }; | 285 }; |
285 | 286 |
286 // This vector contains QUIC versions which we currently support. | 287 // This vector contains QUIC versions which we currently support. |
287 // This should be ordered such that the highest supported version is the first | 288 // This should be ordered such that the highest supported version is the first |
288 // element, with subsequent elements in descending order (versions can be | 289 // element, with subsequent elements in descending order (versions can be |
289 // skipped as necessary). | 290 // skipped as necessary). |
290 // | 291 // |
291 // IMPORTANT: if you are adding to this list, follow the instructions at | 292 // IMPORTANT: if you are adding to this list, follow the instructions at |
292 // http://sites/quic/adding-and-removing-versions | 293 // http://sites/quic/adding-and-removing-versions |
293 static const QuicVersion kSupportedQuicVersions[] = {QUIC_VERSION_21, | 294 static const QuicVersion kSupportedQuicVersions[] = {QUIC_VERSION_22, |
| 295 QUIC_VERSION_21, |
294 QUIC_VERSION_20, | 296 QUIC_VERSION_20, |
295 QUIC_VERSION_19, | 297 QUIC_VERSION_19, |
296 QUIC_VERSION_18, | 298 QUIC_VERSION_18, |
297 QUIC_VERSION_16}; | 299 QUIC_VERSION_16}; |
298 | 300 |
299 typedef std::vector<QuicVersion> QuicVersionVector; | 301 typedef std::vector<QuicVersion> QuicVersionVector; |
300 | 302 |
301 // Returns a vector of QUIC versions in kSupportedQuicVersions. | 303 // Returns a vector of QUIC versions in kSupportedQuicVersions. |
302 NET_EXPORT_PRIVATE QuicVersionVector QuicSupportedVersions(); | 304 NET_EXPORT_PRIVATE QuicVersionVector QuicSupportedVersions(); |
303 | 305 |
(...skipping 754 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1058 // Stores the sequence numbers of all transmissions of this packet. | 1060 // Stores the sequence numbers of all transmissions of this packet. |
1059 // Can never be null. | 1061 // Can never be null. |
1060 SequenceNumberSet* all_transmissions; | 1062 SequenceNumberSet* all_transmissions; |
1061 // In flight packets have not been abandoned or lost. | 1063 // In flight packets have not been abandoned or lost. |
1062 bool in_flight; | 1064 bool in_flight; |
1063 }; | 1065 }; |
1064 | 1066 |
1065 } // namespace net | 1067 } // namespace net |
1066 | 1068 |
1067 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 1069 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
OLD | NEW |