Refactor how TLS versions get enabled
This brings it closer in line to how QUIC_VERSION_99 is handled and sets up the
flag to be switched to a reloadable flag (blocked on being enabled). In particular,
AllSupportedVersions() now returns versions that include PROTOCOL_TLS1_3 for the
handshake_protocol.
When a TLS version is in use, it is safe to assume that
ParsedQuicVersion::KnowsWhichDecrypterToUse always returns true. This is because
KnowsWhichDecrypterToUse is enabled for QUIC_VERSION_47 and above, while TLS versions
only exist when CRYPTO frames are in use, which is currently only transport version 99.
gfe-relnote: refactor of TLS version code; protected by quic_supports_tls_handshake
PiperOrigin-RevId: 250599516
Change-Id: Ibfe68d74089ce29edeee219671c81e1643702000
diff --git a/quic/core/quic_version_manager.h b/quic/core/quic_version_manager.h
index db9f2c5..f45b6da 100644
--- a/quic/core/quic_version_manager.h
+++ b/quic/core/quic_version_manager.h
@@ -48,6 +48,8 @@
bool enable_version_44_;
// quic_disable_version_39 flag
bool disable_version_39_;
+ // quic_supports_tls_handshake flag
+ bool enable_tls_;
// The list of versions that may be supported.
ParsedQuicVersionVector allowed_supported_versions_;
// This vector contains QUIC versions which are currently supported based on