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(