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;