Make QpackDecoderStreamSender buffer serialized instructions.
QpackEncoderStreamSender has already been modified the same way at cr/273553497.
This way Header Acknowledgement and Insert Count Increment emitted from a single
QpackDecoder::OnDecodingCompleted() call can be coalesced into a single write
without any copying.
gfe-relnote: n/a, change to QUIC v99-only code. Protected by existing disabled gfe2_reloadable_flag_quic_enable_version_99.
PiperOrigin-RevId: 274280271
Change-Id: I8152636818ef2c0dbbd3b95355c5280cebcd04c6
diff --git a/quic/core/qpack/qpack_decoder.cc b/quic/core/qpack/qpack_decoder.cc
index 1f64945..4f39e3b 100644
--- a/quic/core/qpack/qpack_decoder.cc
+++ b/quic/core/qpack/qpack_decoder.cc
@@ -30,6 +30,7 @@
// TODO(bnc): SendStreamCancellation should not be called if maximum dynamic
// table capacity is zero.
decoder_stream_sender_.SendStreamCancellation(stream_id);
+ decoder_stream_sender_.Flush();
}
bool QpackDecoder::OnStreamBlocked(QuicStreamId stream_id) {
@@ -62,6 +63,8 @@
header_table_.inserted_entry_count() - known_received_count_);
known_received_count_ = header_table_.inserted_entry_count();
}
+
+ decoder_stream_sender_.Flush();
}
void QpackDecoder::OnInsertWithNameReference(bool is_static,