Introduce QUIC v49
This new version adds support for:
- client connection IDs
- latest QUIC invariants (length-prefixed connection IDs)
- long header lengths
gfe-relnote: add QUIC v49, protected by quic_enable_v49
PiperOrigin-RevId: 270337654
Change-Id: I563251f8ad170e38b356a9964cd92d89b9df47c8
diff --git a/quic/core/quic_version_manager.cc b/quic/core/quic_version_manager.cc
index 6fd36b2..849dfc5 100644
--- a/quic/core/quic_version_manager.cc
+++ b/quic/core/quic_version_manager.cc
@@ -5,6 +5,7 @@
#include "net/third_party/quiche/src/quic/core/quic_version_manager.h"
#include "net/third_party/quiche/src/quic/core/quic_versions.h"
+#include "net/third_party/quiche/src/quic/platform/api/quic_arraysize.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flag_utils.h"
#include "net/third_party/quiche/src/quic/platform/api/quic_flags.h"
@@ -15,11 +16,14 @@
QuicVersionManager::QuicVersionManager(
ParsedQuicVersionVector supported_versions)
: enable_version_99_(GetQuicReloadableFlag(quic_enable_version_99)),
+ enable_version_49_(GetQuicReloadableFlag(quic_enable_version_49)),
enable_version_48_(GetQuicReloadableFlag(quic_enable_version_48_2)),
enable_version_47_(GetQuicReloadableFlag(quic_enable_version_47)),
disable_version_39_(GetQuicReloadableFlag(quic_disable_version_39)),
enable_tls_(GetQuicReloadableFlag(quic_supports_tls_handshake)),
allowed_supported_versions_(std::move(supported_versions)) {
+ static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u,
+ "Supported versions out of sync");
RefilterSupportedVersions();
}
@@ -37,12 +41,16 @@
}
void QuicVersionManager::MaybeRefilterSupportedVersions() {
+ static_assert(QUIC_ARRAYSIZE(kSupportedTransportVersions) == 7u,
+ "Supported versions out of sync");
if (enable_version_99_ != GetQuicReloadableFlag(quic_enable_version_99) ||
+ enable_version_49_ != GetQuicReloadableFlag(quic_enable_version_49) ||
enable_version_48_ != GetQuicReloadableFlag(quic_enable_version_48_2) ||
enable_version_47_ != GetQuicReloadableFlag(quic_enable_version_47) ||
disable_version_39_ != GetQuicReloadableFlag(quic_disable_version_39) ||
enable_tls_ != GetQuicReloadableFlag(quic_supports_tls_handshake)) {
enable_version_99_ = GetQuicReloadableFlag(quic_enable_version_99);
+ enable_version_49_ = GetQuicReloadableFlag(quic_enable_version_49);
enable_version_48_ = GetQuicReloadableFlag(quic_enable_version_48_2);
enable_version_47_ = GetQuicReloadableFlag(quic_enable_version_47);
disable_version_39_ = GetQuicReloadableFlag(quic_disable_version_39);