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(