Restart bandwidth BOW-response triggered bandwidth resumption experiment.
Protected by FLAGS_quic_restart_flag_quic_enable_sending_bandwidth_estimate_when_network_idle_v2.
PiperOrigin-RevId: 455725458
diff --git a/quiche/quic/core/http/quic_server_session_base.cc b/quiche/quic/core/http/quic_server_session_base.cc
index d59602e..f94f09f 100644
--- a/quiche/quic/core/http/quic_server_session_base.cc
+++ b/quiche/quic/core/http/quic_server_session_base.cc
@@ -88,7 +88,7 @@
enable_sending_bandwidth_estimate_when_network_idle_ =
GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle) &&
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2) &&
version().HasIetfQuicFrames() &&
ContainsQuicTag(config()->ReceivedConnectionOptions(), kBWID);
@@ -146,7 +146,7 @@
const bool success = MaybeSendAddressToken();
QUIC_BUG_IF(QUIC_BUG_25522, !success) << "Failed to send address token.";
QUIC_RESTART_FLAG_COUNT_N(
- quic_enable_sending_bandwidth_estimate_when_network_idle, 2, 3);
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2, 2, 3);
}
}
@@ -154,9 +154,9 @@
// Sending bandwidth is no longer conditioned on if session does bandwidth
// resumption.
if (GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle)) {
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2)) {
QUIC_RESTART_FLAG_COUNT_N(
- quic_enable_sending_bandwidth_estimate_when_network_idle, 3, 3);
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2, 3, 3);
return;
}
if (!bandwidth_resumption_enabled_) {
diff --git a/quiche/quic/core/http/quic_server_session_base_test.cc b/quiche/quic/core/http/quic_server_session_base_test.cc
index df099a6..a722240 100644
--- a/quiche/quic/core/http/quic_server_session_base_test.cc
+++ b/quiche/quic/core/http/quic_server_session_base_test.cc
@@ -608,7 +608,7 @@
HAS_RETRANSMITTABLE_DATA, true);
if (GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle)) {
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2)) {
EXPECT_CALL(*connection_, OnSendConnectionState(_)).Times(0);
} else {
// Verify that the proto has exactly the values we expect.
diff --git a/quiche/quic/core/quic_flags_list.h b/quiche/quic/core/quic_flags_list.h
index 050f26e..2f651ad 100644
--- a/quiche/quic/core/quic_flags_list.h
+++ b/quiche/quic/core/quic_flags_list.h
@@ -80,7 +80,7 @@
// If true, server proactively retires client issued connection ID on reverse path validation failure.
QUIC_FLAG(quic_reloadable_flag_quic_retire_cid_on_reverse_path_validation_failure, true)
// If true, server sends bandwidth eastimate when network is idle for a while.
-QUIC_FLAG(quic_restart_flag_quic_enable_sending_bandwidth_estimate_when_network_idle, false)
+QUIC_FLAG(quic_restart_flag_quic_enable_sending_bandwidth_estimate_when_network_idle_v2, false)
// If true, set burst token to 2 in cwnd bootstrapping experiment.
QUIC_FLAG(quic_reloadable_flag_quic_conservative_bursts, false)
// If true, stop resetting ideal_next_packet_send_time_ in pacing sender.
diff --git a/quiche/quic/core/quic_idle_network_detector.cc b/quiche/quic/core/quic_idle_network_detector.cc
index a5bd8ad..5a63ebc 100644
--- a/quiche/quic/core/quic_idle_network_detector.cc
+++ b/quiche/quic/core/quic_idle_network_detector.cc
@@ -74,10 +74,10 @@
bandwidth_update_timeout_ = QuicTime::Delta::Infinite();
if (GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle) &&
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2) &&
handshake_timeout_.IsInfinite()) {
QUIC_RESTART_FLAG_COUNT_N(
- quic_enable_sending_bandwidth_estimate_when_network_idle, 1, 3);
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2, 1, 3);
bandwidth_update_timeout_ = idle_network_timeout_ * 0.5;
}
diff --git a/quiche/quic/core/quic_idle_network_detector_test.cc b/quiche/quic/core/quic_idle_network_detector_test.cc
index 9105ec9..a139eb2 100644
--- a/quiche/quic/core/quic_idle_network_detector_test.cc
+++ b/quiche/quic/core/quic_idle_network_detector_test.cc
@@ -103,7 +103,7 @@
/*handshake_timeout=*/QuicTime::Delta::Infinite(),
/*idle_network_timeout=*/QuicTime::Delta::FromSeconds(600));
if (!GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle)) {
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2)) {
EXPECT_EQ(clock_.Now() + QuicTime::Delta::FromSeconds(600),
alarm_->deadline());
@@ -141,7 +141,7 @@
// Handshake completes in 200ms.
const bool enable_sending_bandwidth_estimate_when_network_idle =
GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle);
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2);
clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(200));
detector_->OnPacketReceived(clock_.Now());
detector_->SetTimeouts(
@@ -195,7 +195,7 @@
detector_->enable_shorter_idle_timeout_on_sent_packet();
QuicTime::Delta idle_network_timeout = QuicTime::Delta::Zero();
if (GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle)) {
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2)) {
idle_network_timeout = QuicTime::Delta::FromSeconds(60);
} else {
idle_network_timeout = QuicTime::Delta::FromSeconds(30);
@@ -250,7 +250,7 @@
TEST_F(QuicIdleNetworkDetectorTest,
ResetBandwidthTimeoutWhenHandshakeTimeoutIsSet) {
if (!GetQuicRestartFlag(
- quic_enable_sending_bandwidth_estimate_when_network_idle)) {
+ quic_enable_sending_bandwidth_estimate_when_network_idle_v2)) {
return;
}
detector_->SetTimeouts(