Expose Quic stream flow control send window to subclasses. Needed by Envoy to set high/low watermarks for quic stream send buffer. PiperOrigin-RevId: 358488695 Change-Id: I673366e1d4d94f5432e7e980d0d344d2a7b8ec7d
diff --git a/quic/core/quic_stream.cc b/quic/core/quic_stream.cc index 14ce157..f0dca44 100644 --- a/quic/core/quic_stream.cc +++ b/quic/core/quic_stream.cc
@@ -1433,4 +1433,10 @@ : QuicStream::kDefaultPriority); } +absl::optional<QuicByteCount> QuicStream::GetSendWindow() const { + return flow_controller_.has_value() + ? absl::optional<QuicByteCount>(flow_controller_->SendWindowSize()) + : absl::nullopt; +} + } // namespace quic
diff --git a/quic/core/quic_stream.h b/quic/core/quic_stream.h index 83dd375..f3aa947 100644 --- a/quic/core/quic_stream.h +++ b/quic/core/quic_stream.h
@@ -452,6 +452,9 @@ QuicStreamSendBuffer& send_buffer() { return send_buffer_; } + // Return the current flow control send window in bytes. + absl::optional<QuicByteCount> GetSendWindow() const; + private: friend class test::QuicStreamPeer; friend class QuicStreamUtils;