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,