gfe-relnote: In QUIC, adjust cwnd when doing bandwidth resumption in BBR. Protected by gfe2_reloadable_flag_quic_fix_bbr_cwnd_in_bandwidth_resumption.
PiperOrigin-RevId: 245482154
Change-Id: I0bfa7b414dc369925ab55438894b1579f91d0459
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc
index 1c0d274..163cd22 100644
--- a/quic/core/congestion_control/bbr_sender.cc
+++ b/quic/core/congestion_control/bbr_sender.cc
@@ -352,6 +352,16 @@
if (!rtt.IsZero() && (min_rtt_ > rtt || min_rtt_.IsZero())) {
min_rtt_ = rtt;
}
+ if (GetQuicReloadableFlag(quic_fix_bbr_cwnd_in_bandwidth_resumption) &&
+ mode_ == STARTUP) {
+ const QuicByteCount new_cwnd =
+ std::min(kMaxInitialCongestionWindow * kDefaultTCPMSS,
+ bandwidth * rtt_stats_->SmoothedOrInitialRtt());
+ if (new_cwnd > congestion_window_) {
+ QUIC_RELOADABLE_FLAG_COUNT(quic_fix_bbr_cwnd_in_bandwidth_resumption);
+ }
+ congestion_window_ = std::max(new_cwnd, congestion_window_);
+ }
}
void BbrSender::OnCongestionEvent(bool /*rtt_updated*/,