Use Quic protocol flags to control QuicStreamIdManager's max_streams_window.

This adds tunability.

gfe-relnote: no behavior change. not protected.
PiperOrigin-RevId: 305244897
Change-Id: I30e290d1acbd63919096ac577b5b13595ec63ca6
diff --git a/quic/core/quic_stream_id_manager.cc b/quic/core/quic_stream_id_manager.cc
index 533c89e..5cb8077 100644
--- a/quic/core/quic_stream_id_manager.cc
+++ b/quic/core/quic_stream_id_manager.cc
@@ -101,7 +101,8 @@
 
 void QuicStreamIdManager::MaybeSendMaxStreamsFrame() {
   if ((incoming_advertised_max_streams_ - incoming_stream_count_) >
-      (incoming_initial_max_open_streams_ / kMaxStreamsWindowDivisor)) {
+      (incoming_initial_max_open_streams_ /
+       GetQuicFlag(FLAGS_quic_max_streams_window_divisor))) {
     // window too large, no advertisement
     return;
   }
diff --git a/quic/core/quic_stream_id_manager.h b/quic/core/quic_stream_id_manager.h
index e66bc22..4edc363 100644
--- a/quic/core/quic_stream_id_manager.h
+++ b/quic/core/quic_stream_id_manager.h
@@ -17,12 +17,7 @@
 class QuicStreamIdManagerPeer;
 }  // namespace test
 
-// This constant controls the size of the window when deciding whether
-// to generate a MAX_STREAMS frame or not. See the discussion of the
-// window, below, for more details.
-const int kMaxStreamsWindowDivisor = 2;
-
-// This class manages the stream ids for Version 99/IETF QUIC.
+// This class manages the stream ids for IETF QUIC.
 class QUIC_EXPORT_PRIVATE QuicStreamIdManager {
  public:
   class QUIC_EXPORT_PRIVATE DelegateInterface {
diff --git a/quic/core/quic_stream_id_manager_test.cc b/quic/core/quic_stream_id_manager_test.cc
index 1062412..aedec33 100644
--- a/quic/core/quic_stream_id_manager_test.cc
+++ b/quic/core/quic_stream_id_manager_test.cc
@@ -323,7 +323,7 @@
   // Open and then close a number of streams to get close to the threshold of
   // sending a MAX_STREAM_FRAME.
   int stream_count = stream_id_manager_.incoming_initial_max_open_streams() /
-                         kMaxStreamsWindowDivisor -
+                         GetQuicFlag(FLAGS_quic_max_streams_window_divisor) -
                      1;
 
   // Should not get a control-frame transmission since the peer should have
@@ -415,7 +415,7 @@
   // cause a MAX STREAMS frame to be generated.
   int i =
       static_cast<int>(stream_id_manager_.incoming_initial_max_open_streams() /
-                       kMaxStreamsWindowDivisor);
+                       GetQuicFlag(FLAGS_quic_max_streams_window_divisor));
   QuicStreamId id =
       QuicStreamIdManagerPeer::GetFirstIncomingStreamId(&stream_id_manager_);
   EXPECT_CALL(delegate_, SendMaxStreams(first_advert + i, IsUnidirectional()));