Modify QPACK API to prepare for creation of QPACK streams.
gfe-relnote: v99 only, not used in prod.
PiperOrigin-RevId: 262439958
Change-Id: I84e72bd32ab059e6e0ad7777bab355db4ec45c20
diff --git a/quic/core/qpack/qpack_decoder.h b/quic/core/qpack/qpack_decoder.h
index b3eea59..6a403fd 100644
--- a/quic/core/qpack/qpack_decoder.h
+++ b/quic/core/qpack/qpack_decoder.h
@@ -66,6 +66,7 @@
QpackProgressiveDecoder::HeadersHandlerInterface* handler);
// Decode data received on the encoder stream.
+ // TODO(b/112770235): Remove this method.
void DecodeEncoderStreamData(QuicStringPiece data);
// QpackEncoderStreamReceiver::Delegate implementation
@@ -83,6 +84,10 @@
decoder_stream_sender_.set_qpack_stream_sender_delegate(delegate);
}
+ QpackStreamReceiver* encoder_stream_receiver() {
+ return &encoder_stream_receiver_;
+ }
+
private:
// The encoder stream uses relative index (but different from the kind of
// relative index used on a request stream). This method converts relative
diff --git a/quic/core/qpack/qpack_encoder.h b/quic/core/qpack/qpack_encoder.h
index d64af56..ee988ce 100644
--- a/quic/core/qpack/qpack_encoder.h
+++ b/quic/core/qpack/qpack_encoder.h
@@ -52,6 +52,7 @@
const spdy::SpdyHeaderBlock* header_list);
// Decode data received on the decoder stream.
+ // TODO(b/112770235): Remove this method.
void DecodeDecoderStreamData(QuicStringPiece data);
// Set maximum capacity of dynamic table, measured in bytes.
@@ -73,6 +74,14 @@
encoder_stream_sender_.set_qpack_stream_sender_delegate(delegate);
}
+ QpackStreamReceiver* decoder_stream_receiver() {
+ return &decoder_stream_receiver_;
+ }
+
+ uint64_t maximum_dynamic_table_capacity() const {
+ return header_table_.maximum_dynamic_table_capacity();
+ }
+
private:
friend class test::QpackEncoderPeer;
diff --git a/quic/core/qpack/qpack_header_table.h b/quic/core/qpack/qpack_header_table.h
index f251894..672c3ef 100644
--- a/quic/core/qpack/qpack_header_table.h
+++ b/quic/core/qpack/qpack_header_table.h
@@ -119,6 +119,10 @@
// The returned index might not be the index of a valid entry.
uint64_t draining_index(float draining_fraction) const;
+ uint64_t maximum_dynamic_table_capacity() const {
+ return maximum_dynamic_table_capacity_;
+ }
+
private:
friend class test::QpackHeaderTablePeer;