Add APIs to allow sessions to read stream types from pending stream.
Pending stream will now allow receiving stream frame with zero offset.
gfe-relnote: version 99 only. Only used in test.
PiperOrigin-RevId: 247277571
Change-Id: Ib7986a27ce0106efd3102b50bfe82f0eac4b9fe3
diff --git a/quic/core/http/quic_spdy_session.h b/quic/core/http/quic_spdy_session.h
index 23e57c3..46f2b8a 100644
--- a/quic/core/http/quic_spdy_session.h
+++ b/quic/core/http/quic_spdy_session.h
@@ -198,6 +198,10 @@
// Overridden to buffer incoming streams for version 99.
bool ShouldBufferIncomingStream(QuicStreamId id) const override;
+ // Overridden to Process HTTP/3 stream types. No action will be taken if
+ // stream type cannot be read.
+ void ProcessPendingStreamType(PendingStream* pending) override;
+
size_t WriteHeadersOnHeadersStreamImpl(
QuicStreamId id,
spdy::SpdyHeaderBlock headers,
@@ -237,6 +241,10 @@
void set_max_uncompressed_header_bytes(
size_t set_max_uncompressed_header_bytes);
+ // Creates HTTP/3 unidirectional stream of |id| and |type|. Sends
+ // STOP_SENDING frame if |type| is not supported.
+ void CreateIncomingStreamFromPending(QuicStreamId id, uint64_t type);
+
private:
friend class test::QuicSpdySessionPeer;