Remove QUIC priority experiments. These experiments have been concluded some time ago. Default scheduler is spdy::WriteSchedulerType::SPDY, which implements buckets from 0 to 7. Protected by FLAGS_quic_reloadable_flag_quic_deprecate_http2_priority_experiment. PiperOrigin-RevId: 342260955 Change-Id: I97ce03aaf326047e9ab5027426da478d4ab98e24
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h index 72cd4bb..2167611 100644 --- a/quic/core/quic_flags_list.h +++ b/quic/core/quic_flags_list.h
@@ -32,6 +32,7 @@ QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr_v2, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_delay_initial_ack, false) +QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_deprecate_http2_priority_experiment, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_server_blackhole_detection, false) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_draft_27, true) QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_disable_version_draft_29, false)
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc index 6b4c517..3a06af3 100644 --- a/quic/core/quic_session.cc +++ b/quic/core/quic_session.cc
@@ -1239,24 +1239,31 @@ if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kIFWA)) { AdjustInitialFlowControlWindows(1024 * 1024); } - if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kH2PR) && - !VersionHasIetfQuicFrames(transport_version())) { - // Enable HTTP2 (tree-style) priority write scheduler. - use_http2_priority_write_scheduler_ = - write_blocked_streams_.SwitchWriteScheduler( - spdy::WriteSchedulerType::HTTP2, transport_version()); - } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kFIFO)) { - // Enable FIFO write scheduler. - write_blocked_streams_.SwitchWriteScheduler( - spdy::WriteSchedulerType::FIFO, transport_version()); - } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kLIFO)) { - // Enable LIFO write scheduler. - write_blocked_streams_.SwitchWriteScheduler( - spdy::WriteSchedulerType::LIFO, transport_version()); - } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kRRWS) && - write_blocked_streams_.scheduler_type() == - spdy::WriteSchedulerType::SPDY) { - enable_round_robin_scheduling_ = true; + if (GetQuicReloadableFlag(quic_deprecate_http2_priority_experiment)) { + QUIC_CODE_COUNT(quic_deprecate_http2_priority_experiment); + } else { + if (ContainsQuicTag(config_.ReceivedConnectionOptions(), kH2PR) && + !VersionHasIetfQuicFrames(transport_version())) { + // Enable HTTP2 (tree-style) priority write scheduler. + use_http2_priority_write_scheduler_ = + write_blocked_streams_.SwitchWriteScheduler( + spdy::WriteSchedulerType::HTTP2, transport_version()); + } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), + kFIFO)) { + // Enable FIFO write scheduler. + write_blocked_streams_.SwitchWriteScheduler( + spdy::WriteSchedulerType::FIFO, transport_version()); + } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), + kLIFO)) { + // Enable LIFO write scheduler. + write_blocked_streams_.SwitchWriteScheduler( + spdy::WriteSchedulerType::LIFO, transport_version()); + } else if (ContainsQuicTag(config_.ReceivedConnectionOptions(), + kRRWS) && + write_blocked_streams_.scheduler_type() == + spdy::WriteSchedulerType::SPDY) { + enable_round_robin_scheduling_ = true; + } } }
diff --git a/quic/core/quic_session_test.cc b/quic/core/quic_session_test.cc index 0622508..16b7720 100644 --- a/quic/core/quic_session_test.cc +++ b/quic/core/quic_session_test.cc
@@ -1045,6 +1045,10 @@ } TEST_P(QuicSessionTestServer, Http2Priority) { + if (GetQuicReloadableFlag(quic_deprecate_http2_priority_experiment)) { + return; + } + if (VersionHasIetfQuicFrames(GetParam().transport_version)) { // The test is using HTTP/2 priority which is not supported in IETF QUIC. return; @@ -1128,6 +1132,10 @@ } TEST_P(QuicSessionTestServer, RoundRobinScheduling) { + if (GetQuicReloadableFlag(quic_deprecate_http2_priority_experiment)) { + return; + } + if (VersionHasIetfQuicFrames(GetParam().transport_version)) { // IETF QUIC currently doesn't support PRIORITY. return;