Internal QUICHE change PiperOrigin-RevId: 289672898 Change-Id: I1f32d04340960806c6796a137b4e2ddf0768fbb7
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc index 3bef1dd..6ef3572 100644 --- a/quic/core/congestion_control/bbr_sender.cc +++ b/quic/core/congestion_control/bbr_sender.cc
@@ -342,7 +342,7 @@ const QuicBandwidth& bandwidth = params.bandwidth; const QuicTime::Delta& rtt = params.rtt; - if (GetQuicReloadableFlag(quic_bbr_donot_inject_bandwidth)) { + if (params.quic_bbr_donot_inject_bandwidth) { QUIC_RELOADABLE_FLAG_COUNT(quic_bbr_donot_inject_bandwidth); } else if (!bandwidth.IsZero()) { max_bandwidth_.Update(bandwidth, round_trip_count_); @@ -358,11 +358,10 @@ } const QuicByteCount new_cwnd = std::max( kMinInitialCongestionWindow * kDefaultTCPMSS, - std::min( - kMaxInitialCongestionWindow * kDefaultTCPMSS, - bandwidth * (GetQuicReloadableFlag(quic_bbr_donot_inject_bandwidth) - ? GetMinRtt() - : rtt_stats_->SmoothedOrInitialRtt()))); + std::min(kMaxInitialCongestionWindow * kDefaultTCPMSS, + bandwidth * (params.quic_bbr_donot_inject_bandwidth + ? GetMinRtt() + : rtt_stats_->SmoothedOrInitialRtt()))); if (!rtt_stats_->smoothed_rtt().IsZero()) { QUIC_CODE_COUNT(quic_smoothed_rtt_available); } else if (rtt_stats_->initial_rtt() !=
diff --git a/quic/core/congestion_control/send_algorithm_interface.h b/quic/core/congestion_control/send_algorithm_interface.h index 628e0d6..33ab222 100644 --- a/quic/core/congestion_control/send_algorithm_interface.h +++ b/quic/core/congestion_control/send_algorithm_interface.h
@@ -45,24 +45,30 @@ quic_fix_bbr_cwnd_in_bandwidth_resumption( GetQuicReloadableFlag(quic_fix_bbr_cwnd_in_bandwidth_resumption)), quic_bbr_fix_pacing_rate( - GetQuicReloadableFlag(quic_bbr_fix_pacing_rate)) {} + GetQuicReloadableFlag(quic_bbr_fix_pacing_rate)), + quic_bbr_donot_inject_bandwidth( + GetQuicReloadableFlag(quic_bbr_donot_inject_bandwidth)) {} bool operator==(const NetworkParams& other) const { return bandwidth == other.bandwidth && rtt == other.rtt && allow_cwnd_to_decrease == other.allow_cwnd_to_decrease && quic_fix_bbr_cwnd_in_bandwidth_resumption == other.quic_fix_bbr_cwnd_in_bandwidth_resumption && - quic_bbr_fix_pacing_rate == other.quic_bbr_fix_pacing_rate; + quic_bbr_fix_pacing_rate == other.quic_bbr_fix_pacing_rate && + quic_bbr_donot_inject_bandwidth == + other.quic_bbr_donot_inject_bandwidth; } QuicBandwidth bandwidth; QuicTime::Delta rtt; bool allow_cwnd_to_decrease; // Code changes that are controlled by flags. - // TODO(b/131899599): Remove when impact of fix is measured. + // TODO(b/131899599): Remove after impact of fix is measured. bool quic_fix_bbr_cwnd_in_bandwidth_resumption; - // TODO(b/143540157): Remove when impact of fix is measured. + // TODO(b/143540157): Remove after impact of fix is measured. bool quic_bbr_fix_pacing_rate; + // TODO(b/72089315, b/143891040): Remove after impact of fix is measured. + bool quic_bbr_donot_inject_bandwidth; }; static SendAlgorithmInterface* Create(