Do not send stream type twice in QPACK streams.
gfe-relnote: v99 only, not protected.
PiperOrigin-RevId: 264201849
Change-Id: I77ae60d2e3d2de6456bfceed1a2d3242ba9420d4
diff --git a/quic/core/qpack/qpack_send_stream.cc b/quic/core/qpack/qpack_send_stream.cc
index fe25f26..b978985 100644
--- a/quic/core/qpack/qpack_send_stream.cc
+++ b/quic/core/qpack/qpack_send_stream.cc
@@ -25,6 +25,11 @@
void QpackSendStream::WriteStreamData(QuicStringPiece data) {
QuicConnection::ScopedPacketFlusher flusher(session()->connection());
+ SendStreamType();
+ WriteOrBufferData(data, false, nullptr);
+}
+
+void QpackSendStream::SendStreamType() {
if (!stream_type_sent_) {
char type[sizeof(http3_stream_type_)];
QuicDataWriter writer(QUIC_ARRAYSIZE(type), type);
@@ -33,16 +38,6 @@
nullptr);
stream_type_sent_ = true;
}
- WriteOrBufferData(data, false, nullptr);
-}
-
-void QpackSendStream::SendStreamType() {
- char type[sizeof(http3_stream_type_)];
- QuicDataWriter writer(QUIC_ARRAYSIZE(type), type);
- writer.WriteVarInt62(http3_stream_type_);
- WriteOrBufferData(QuicStringPiece(writer.data(), writer.length()), false,
- nullptr);
- stream_type_sent_ = true;
}
} // namespace quic