gfe-relnote: Add kSupportedVersions to quic_versions.h, no behavior change PiperOrigin-RevId: 289758796 Change-Id: Iaea196d5a8d8fb15c6c4b4b871f0d92959b12515
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc index 6daac15..f8acb5b 100644 --- a/quic/core/quic_versions.cc +++ b/quic/core/quic_versions.cc
@@ -275,16 +275,8 @@ } ParsedQuicVersionVector AllSupportedVersions() { - ParsedQuicVersionVector supported_versions; - for (HandshakeProtocol handshake_protocol : kSupportedHandshakeProtocols) { - for (QuicTransportVersion transport_version : kSupportedTransportVersions) { - if (ParsedQuicVersionIsValid(handshake_protocol, transport_version)) { - supported_versions.push_back( - ParsedQuicVersion(handshake_protocol, transport_version)); - } - } - } - return supported_versions; + return ParsedQuicVersionVector(kSupportedVersions.begin(), + kSupportedVersions.end()); } ParsedQuicVersionVector CurrentSupportedVersions() {
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h index 6adf748..6d6456f 100644 --- a/quic/core/quic_versions.h +++ b/quic/core/quic_versions.h
@@ -290,6 +290,17 @@ static const HandshakeProtocol kSupportedHandshakeProtocols[] = { PROTOCOL_QUIC_CRYPTO, PROTOCOL_TLS1_3}; +static const std::array<ParsedQuicVersion, 8> kSupportedVersions = { + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_99), + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_50), + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_49), + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_48), + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_46), + ParsedQuicVersion(PROTOCOL_QUIC_CRYPTO, QUIC_VERSION_43), + ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_99), + ParsedQuicVersion(PROTOCOL_TLS1_3, QUIC_VERSION_50), +}; + typedef std::vector<QuicTransportVersion> QuicTransportVersionVector; // Returns a vector of QUIC versions in kSupportedTransportVersions.
diff --git a/quic/core/quic_versions_test.cc b/quic/core/quic_versions_test.cc index 81f9940..cbaab95 100644 --- a/quic/core/quic_versions_test.cc +++ b/quic/core/quic_versions_test.cc
@@ -478,6 +478,21 @@ } } +TEST_F(QuicVersionsTest, SupportedVersionsHasCorrectList) { + size_t index = 0; + for (HandshakeProtocol handshake_protocol : kSupportedHandshakeProtocols) { + for (QuicTransportVersion transport_version : kSupportedTransportVersions) { + SCOPED_TRACE(index); + if (ParsedQuicVersionIsValid(handshake_protocol, transport_version)) { + EXPECT_EQ(kSupportedVersions[index], + ParsedQuicVersion(handshake_protocol, transport_version)); + index++; + } + } + } + EXPECT_EQ(kSupportedVersions.size(), index); +} + } // namespace } // namespace test } // namespace quic