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 <stdint.h> | 9 #include <stdint.h> |
10 | 10 |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 QUIC_VERSION_27 = 27, // Sends a nonce in the SHLO. | 365 QUIC_VERSION_27 = 27, // Sends a nonce in the SHLO. |
366 QUIC_VERSION_28 = 28, // Receiver can refuse to create a requested stream. | 366 QUIC_VERSION_28 = 28, // Receiver can refuse to create a requested stream. |
367 QUIC_VERSION_29 = 29, // Server and client honor QUIC_STREAM_NO_ERROR. | 367 QUIC_VERSION_29 = 29, // Server and client honor QUIC_STREAM_NO_ERROR. |
368 QUIC_VERSION_30 = 30, // Add server side support of cert transparency. | 368 QUIC_VERSION_30 = 30, // Add server side support of cert transparency. |
369 QUIC_VERSION_31 = 31, // Adds a hash of the client hello to crypto proof. | 369 QUIC_VERSION_31 = 31, // Adds a hash of the client hello to crypto proof. |
370 QUIC_VERSION_32 = 32, // FEC related fields are removed from wire format. | 370 QUIC_VERSION_32 = 32, // FEC related fields are removed from wire format. |
371 QUIC_VERSION_33 = 33, // Adds diversification nonces. | 371 QUIC_VERSION_33 = 33, // Adds diversification nonces. |
372 QUIC_VERSION_34 = 34, // Deprecates entropy, removes private flag from packet | 372 QUIC_VERSION_34 = 34, // Deprecates entropy, removes private flag from packet |
373 // header, uses new ack and stop waiting wire format. | 373 // header, uses new ack and stop waiting wire format. |
374 QUIC_VERSION_35 = 35, // Allows endpoints to independently set stream limit. | 374 QUIC_VERSION_35 = 35, // Allows endpoints to independently set stream limit. |
| 375 QUIC_VERSION_36 = 36, // Add support to force HOL blocking. |
375 }; | 376 }; |
376 | 377 |
377 // This vector contains QUIC versions which we currently support. | 378 // This vector contains QUIC versions which we currently support. |
378 // This should be ordered such that the highest supported version is the first | 379 // This should be ordered such that the highest supported version is the first |
379 // element, with subsequent elements in descending order (versions can be | 380 // element, with subsequent elements in descending order (versions can be |
380 // skipped as necessary). | 381 // skipped as necessary). |
381 // | 382 // |
382 // IMPORTANT: if you are adding to this list, follow the instructions at | 383 // IMPORTANT: if you are adding to this list, follow the instructions at |
383 // http://sites/quic/adding-and-removing-versions | 384 // http://sites/quic/adding-and-removing-versions |
384 static const QuicVersion kSupportedQuicVersions[] = { | 385 static const QuicVersion kSupportedQuicVersions[] = { |
385 QUIC_VERSION_35, QUIC_VERSION_34, QUIC_VERSION_33, QUIC_VERSION_32, | 386 QUIC_VERSION_36, QUIC_VERSION_35, QUIC_VERSION_34, QUIC_VERSION_33, |
386 QUIC_VERSION_31, QUIC_VERSION_30, QUIC_VERSION_29, QUIC_VERSION_28, | 387 QUIC_VERSION_32, QUIC_VERSION_31, QUIC_VERSION_30, QUIC_VERSION_29, |
387 QUIC_VERSION_27, QUIC_VERSION_26, QUIC_VERSION_25}; | 388 QUIC_VERSION_28, QUIC_VERSION_27, QUIC_VERSION_26, QUIC_VERSION_25}; |
388 | 389 |
389 typedef std::vector<QuicVersion> QuicVersionVector; | 390 typedef std::vector<QuicVersion> QuicVersionVector; |
390 | 391 |
391 // Returns a vector of QUIC versions in kSupportedQuicVersions. | 392 // Returns a vector of QUIC versions in kSupportedQuicVersions. |
392 NET_EXPORT_PRIVATE QuicVersionVector QuicSupportedVersions(); | 393 NET_EXPORT_PRIVATE QuicVersionVector QuicSupportedVersions(); |
393 | 394 |
394 // Returns a vector of QUIC versions from |versions| which exclude any versions | 395 // Returns a vector of QUIC versions from |versions| which exclude any versions |
395 // which are disabled by flags. | 396 // which are disabled by flags. |
396 NET_EXPORT_PRIVATE QuicVersionVector | 397 NET_EXPORT_PRIVATE QuicVersionVector |
397 FilterSupportedVersions(QuicVersionVector versions); | 398 FilterSupportedVersions(QuicVersionVector versions); |
(...skipping 1095 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1493 : iov(iov), iov_count(iov_count), total_length(total_length) {} | 1494 : iov(iov), iov_count(iov_count), total_length(total_length) {} |
1494 | 1495 |
1495 const struct iovec* iov; | 1496 const struct iovec* iov; |
1496 const int iov_count; | 1497 const int iov_count; |
1497 const size_t total_length; | 1498 const size_t total_length; |
1498 }; | 1499 }; |
1499 | 1500 |
1500 } // namespace net | 1501 } // namespace net |
1501 | 1502 |
1502 #endif // NET_QUIC_QUIC_PROTOCOL_H_ | 1503 #endif // NET_QUIC_QUIC_PROTOCOL_H_ |
OLD | NEW |