gfe-relnote: In QUIC, add COPT to enable cwnd bootstrapping for different SPDY priorites. Protected by gfe2_reloadable_flag_quic_bootstrap_cwnd_by_spdy_priority.
PiperOrigin-RevId: 309298478
Change-Id: I759bfe7c389cd4b7dc0b74b0873bfae3145cb4f4
diff --git a/quic/core/crypto/crypto_protocol.h b/quic/core/crypto/crypto_protocol.h
index 97da818..e2a48cb 100644
--- a/quic/core/crypto/crypto_protocol.h
+++ b/quic/core/crypto/crypto_protocol.h
@@ -257,6 +257,17 @@
const QuicTag kBWS6 = TAG('B', 'W', 'S', '6'); // QUIC Initial CWND - Enabled
// with 0.5 * default
// multiplier.
+const QuicTag kBWP0 = TAG('B', 'W', 'P', '0'); // QUIC Initial CWND - SPDY
+ // priority 0.
+const QuicTag kBWP1 = TAG('B', 'W', 'P', '1'); // QUIC Initial CWND - SPDY
+ // priorities 0 and 1.
+const QuicTag kBWP2 = TAG('B', 'W', 'P', '2'); // QUIC Initial CWND - SPDY
+ // priorities 0, 1 and 2.
+const QuicTag kBWP3 = TAG('B', 'W', 'P', '3'); // QUIC Initial CWND - SPDY
+ // priorities 0, 1, 2 and 3.
+const QuicTag kBWP4 = TAG('B', 'W', 'P', '4'); // QUIC Initial CWND - SPDY
+ // priorities >= 0, 1, 2 , 3 and
+ // 4.
const QuicTag kBWS7 = TAG('B', 'W', 'S', '7'); // QUIC Initial CWND - Enabled
// with 0.75 * default
// multiplier.
diff --git a/quic/core/quic_session.h b/quic/core/quic_session.h
index a4bec84..29d8c9a 100644
--- a/quic/core/quic_session.h
+++ b/quic/core/quic_session.h
@@ -552,6 +552,10 @@
// ProcessPendingStream().
virtual bool UsesPendingStreams() const { return false; }
+ spdy::SpdyPriority GetSpdyPriorityofStream(QuicStreamId stream_id) const {
+ return write_blocked_streams_.GetSpdyPriorityofStream(stream_id);
+ }
+
StreamMap& stream_map() { return stream_map_; }
const StreamMap& stream_map() const { return stream_map_; }
diff --git a/quic/core/quic_write_blocked_list.h b/quic/core/quic_write_blocked_list.h
index 333aaff..4100df0 100644
--- a/quic/core/quic_write_blocked_list.h
+++ b/quic/core/quic_write_blocked_list.h
@@ -66,6 +66,10 @@
return priority_write_scheduler_->ShouldYield(id);
}
+ spdy::SpdyPriority GetSpdyPriorityofStream(QuicStreamId id) const {
+ return priority_write_scheduler_->GetStreamPrecedence(id).spdy3_priority();
+ }
+
// Switches write scheduler. This can only be called before any stream is
// registered.
bool SwitchWriteScheduler(spdy::WriteSchedulerType type,