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(