gfe-relnote: In QUIC, use 2 burst tokens in bootstrapping experiment, protected by gfe2_reloadable_flag_quic_conservative_bursts.
Also decrease cwnd gain and pacing gain.
PiperOrigin-RevId: 247919205
Change-Id: Ic3a205e6f0ec8e23d3f17db9f8b252fd9638d08c
diff --git a/quic/core/quic_sent_packet_manager.cc b/quic/core/quic_sent_packet_manager.cc
index 865cf3f..061ebac 100644
--- a/quic/core/quic_sent_packet_manager.cc
+++ b/quic/core/quic_sent_packet_manager.cc
@@ -66,6 +66,11 @@
transmission_type == RTO_RETRANSMISSION;
}
+// If pacing rate is accurate, > 2 burst token is not likely to help first ACK
+// to arrive earlier, and overly large burst token could cause incast packet
+// losses.
+static const uint32_t kConservativeUnpacedBurst = 2;
+
} // namespace
#define ENDPOINT \
@@ -268,6 +273,10 @@
SetInitialRtt(rtt);
}
const QuicByteCount old_cwnd = send_algorithm_->GetCongestionWindow();
+ if (GetQuicReloadableFlag(quic_conservative_bursts) && using_pacing_) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_conservative_bursts);
+ pacing_sender_.SetBurstTokens(kConservativeUnpacedBurst);
+ }
send_algorithm_->AdjustNetworkParameters(bandwidth, rtt);
if (debug_delegate_ != nullptr) {
debug_delegate_->OnAdjustNetworkParameters(