make valid constexpr
diff --git a/quic/core/quic_versions.cc b/quic/core/quic_versions.cc
index f8acb5b..10d3c61 100644
--- a/quic/core/quic_versions.cc
+++ b/quic/core/quic_versions.cc
@@ -258,22 +258,6 @@
return supported_versions;
}
-bool ParsedQuicVersionIsValid(HandshakeProtocol handshake_protocol,
- QuicTransportVersion transport_version) {
- switch (handshake_protocol) {
- case PROTOCOL_UNSUPPORTED:
- return transport_version == QUIC_VERSION_UNSUPPORTED;
- case PROTOCOL_QUIC_CRYPTO:
- return transport_version != QUIC_VERSION_UNSUPPORTED;
- case PROTOCOL_TLS1_3:
- // The TLS handshake is only deployable if CRYPTO frames are also used.
- // We explicitly removed support for T048 and T049 to reduce test load.
- return QuicVersionUsesCryptoFrames(transport_version) &&
- transport_version > QUIC_VERSION_49;
- }
- return false;
-}
-
ParsedQuicVersionVector AllSupportedVersions() {
return ParsedQuicVersionVector(kSupportedVersions.begin(),
kSupportedVersions.end());
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h
index 6d6456f..6a2eeee 100644
--- a/quic/core/quic_versions.h
+++ b/quic/core/quic_versions.h
@@ -137,13 +137,33 @@
QUIC_EXPORT_PRIVATE std::string HandshakeProtocolToString(
HandshakeProtocol handshake_protocol);
+// Returns whether |transport_version| uses CRYPTO frames for the handshake
+// instead of stream 1.
+QUIC_EXPORT_PRIVATE constexpr bool QuicVersionUsesCryptoFrames(
+ QuicTransportVersion transport_version) {
+ return transport_version >= QUIC_VERSION_48;
+}
+
// Returns whether this combination of handshake protocol and transport
// version is allowed. For example, {PROTOCOL_TLS1_3, QUIC_VERSION_43} is NOT
// allowed as TLS requires crypto frames which v43 does not support. Note that
// UnsupportedQuicVersion is a valid version.
-QUIC_EXPORT_PRIVATE bool ParsedQuicVersionIsValid(
+QUIC_EXPORT_PRIVATE constexpr bool ParsedQuicVersionIsValid(
HandshakeProtocol handshake_protocol,
- QuicTransportVersion transport_version);
+ QuicTransportVersion transport_version) {
+ switch (handshake_protocol) {
+ case PROTOCOL_UNSUPPORTED:
+ return transport_version == QUIC_VERSION_UNSUPPORTED;
+ case PROTOCOL_QUIC_CRYPTO:
+ return transport_version != QUIC_VERSION_UNSUPPORTED;
+ case PROTOCOL_TLS1_3:
+ // The TLS handshake is only deployable if CRYPTO frames are also used.
+ // We explicitly removed support for T048 and T049 to reduce test load.
+ return QuicVersionUsesCryptoFrames(transport_version) &&
+ transport_version > QUIC_VERSION_49;
+ }
+ return false;
+}
// A parsed QUIC version label which determines that handshake protocol
// and the transport version.
@@ -459,13 +479,6 @@
return transport_version >= QUIC_VERSION_49;
}
-// Returns whether |transport_version| uses CRYPTO frames for the handshake
-// instead of stream 1.
-QUIC_EXPORT_PRIVATE inline bool QuicVersionUsesCryptoFrames(
- QuicTransportVersion transport_version) {
- return transport_version >= QUIC_VERSION_48;
-}
-
// Returns whether |transport_version| makes use of IETF QUIC
// frames or not.
QUIC_EXPORT_PRIVATE inline bool VersionHasIetfQuicFrames(