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*/,