Add DCHECK to VersionUsesQpack().

QPACK streams can only be instantiated if the transport version supports
unidirectional stream types.  Document this using a DCHECK.

gfe-relnote: Add DCHECK that obviously will never fail.
PiperOrigin-RevId: 253273733
Change-Id: Iefb3f56f97ef54322f850ad58ecbfe1ec9c522a1
diff --git a/quic/core/quic_versions.h b/quic/core/quic_versions.h
index b33e084..8a64a12 100644
--- a/quic/core/quic_versions.h
+++ b/quic/core/quic_versions.h
@@ -355,6 +355,12 @@
   return transport_version == QUIC_VERSION_99;
 }
 
+// Returns whether |transport_version| has HTTP/3 unidirectional stream type.
+QUIC_EXPORT_PRIVATE inline bool VersionHasStreamType(
+    QuicTransportVersion transport_version) {
+  return transport_version == QUIC_VERSION_99;
+}
+
 // If true:
 // * QuicSpdySession instantiates a QPACK encoder and decoder;
 // * HEADERS frames (containing headers or trailers) are sent on
@@ -377,6 +383,7 @@
   const bool uses_qpack = (transport_version == QUIC_VERSION_99);
   if (uses_qpack) {
     DCHECK(VersionHasDataFrameHeader(transport_version));
+    DCHECK(VersionHasStreamType(transport_version));
   }
   return uses_qpack;
 }
@@ -397,12 +404,6 @@
   return transport_version == QUIC_VERSION_99;
 }
 
-// Returns whether |transport_version| has HTTP/3 stream type.
-QUIC_EXPORT_PRIVATE inline bool VersionHasStreamType(
-    QuicTransportVersion transport_version) {
-  return transport_version == QUIC_VERSION_99;
-}
-
 // Returns the ALPN string to use in TLS for this version of QUIC.
 QUIC_EXPORT_PRIVATE std::string AlpnForVersion(
     ParsedQuicVersion parsed_version);