Merge QpackEncoderStreamSender::Delegate and QpackDecoderStreamSender::Delegate
into a single delegate interface called QpackUnidirectionalStreamSenderDelegate. The new interface is inherited by QpackSendStream.
Before this change, Qpack encoder/decoder stream sender will call the spdy session and the session is responsible for finding the correct stream and write instructions.
Now Qpack encoder/decoder stream sender can access Qpack streams to write instructions directly.
gfe-relnote: v99 only, not used in prod.
PiperOrigin-RevId: 254247942
Change-Id: Iec378d412396d12d51b63843d45630b09b301b69
diff --git a/quic/core/http/quic_spdy_session.cc b/quic/core/http/quic_spdy_session.cc
index fbe8407..b4849ab 100644
--- a/quic/core/http/quic_spdy_session.cc
+++ b/quic/core/http/quic_spdy_session.cc
@@ -366,8 +366,10 @@
}
if (VersionUsesQpack(connection()->transport_version())) {
- qpack_encoder_ = QuicMakeUnique<QpackEncoder>(this, this);
- qpack_decoder_ = QuicMakeUnique<QpackDecoder>(this, this);
+ qpack_encoder_ =
+ QuicMakeUnique<QpackEncoder>(this, &encoder_stream_sender_delegate_);
+ qpack_decoder_ =
+ QuicMakeUnique<QpackDecoder>(this, &decoder_stream_sender_delegate_);
}
headers_stream_ = QuicMakeUnique<QuicHeadersStream>((this));
@@ -406,13 +408,6 @@
QUIC_NOTREACHED();
}
-void QuicSpdySession::WriteEncoderStreamData(QuicStringPiece /*data*/) {
- DCHECK(VersionUsesQpack(connection()->transport_version()));
-
- // TODO(112770235): Send encoder stream data on encoder stream.
- QUIC_NOTREACHED();
-}
-
void QuicSpdySession::OnEncoderStreamError(QuicStringPiece /*error_message*/) {
DCHECK(VersionUsesQpack(connection()->transport_version()));
@@ -420,12 +415,6 @@
QUIC_NOTREACHED();
}
-void QuicSpdySession::WriteDecoderStreamData(QuicStringPiece /*data*/) {
- DCHECK(VersionUsesQpack(connection()->transport_version()));
-
- // TODO(112770235): Send decoder stream data on decoder stream.
-}
-
void QuicSpdySession::OnStreamHeadersPriority(QuicStreamId stream_id,
SpdyPriority priority) {
QuicSpdyStream* stream = GetSpdyDataStream(stream_id);