gfe-relnote: Let GFE be able to use HTTP2(tree-style) priority write scheduler in QUIC and enable it via a connection option H2PR. Protected by gfe2_reloadable_flag_quic_use_http2_priority_write_scheduler.

PiperOrigin-RevId: 260938733
Change-Id: I6d3f6c325a07b17bdfd8c416add8327b8d54be8a
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index 964ddc1..1dbaf44 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -88,7 +88,8 @@
       control_frame_manager_(this),
       last_message_id_(0),
       closed_streams_clean_up_alarm_(nullptr),
-      supported_versions_(supported_versions) {
+      supported_versions_(supported_versions),
+      use_http2_priority_write_scheduler_(false) {
   closed_streams_clean_up_alarm_ =
       QuicWrapUnique<QuicAlarm>(connection_->alarm_factory()->CreateAlarm(
           new ClosedStreamsCleanUpDelegate(this)));
@@ -993,6 +994,13 @@
       if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kIFWA)) {
         AdjustInitialFlowControlWindows(1024 * 1024);
       }
+      // Enable HTTP2 (tree-style) priority write scheduler.
+      if (GetQuicReloadableFlag(quic_use_http2_priority_write_scheduler) &&
+          ContainsQuicTag(config_.ReceivedConnectionOptions(), kH2PR) &&
+          !VersionHasIetfQuicFrames(connection_->transport_version())) {
+        use_http2_priority_write_scheduler_ =
+            write_blocked_streams_.UseHttp2PriorityScheduler();
+      }
     }
 
     config_.SetStatelessResetTokenToSend(GetStatelessResetToken());