Internal QUICHE change
PiperOrigin-RevId: 316884188
Change-Id: Id11bd837f076e0d1eb166fc954b3f5b311febaca
diff --git a/quic/core/congestion_control/bbr_sender.cc b/quic/core/congestion_control/bbr_sender.cc
index 89f8be2..34c81cd 100644
--- a/quic/core/congestion_control/bbr_sender.cc
+++ b/quic/core/congestion_control/bbr_sender.cc
@@ -348,12 +348,16 @@
// Ignore bad bandwidth samples.
return;
}
+
+ auto cwnd_bootstrapping_rtt = params.quic_bbr_donot_inject_bandwidth
+ ? GetMinRtt()
+ : rtt_stats_->SmoothedOrInitialRtt();
const QuicByteCount new_cwnd = std::max(
kMinInitialCongestionWindow * kDefaultTCPMSS,
std::min(max_congestion_window_with_network_parameters_adjusted_,
- bandwidth * (params.quic_bbr_donot_inject_bandwidth
- ? GetMinRtt()
- : rtt_stats_->SmoothedOrInitialRtt())));
+ bandwidth * cwnd_bootstrapping_rtt));
+
+ stats_->cwnd_bootstrapping_rtt_us = cwnd_bootstrapping_rtt.ToMicroseconds();
if (!rtt_stats_->smoothed_rtt().IsZero()) {
QUIC_CODE_COUNT(quic_smoothed_rtt_available);
} else if (rtt_stats_->initial_rtt() !=
diff --git a/quic/core/quic_connection_stats.h b/quic/core/quic_connection_stats.h
index 397936b..67220ae 100644
--- a/quic/core/quic_connection_stats.h
+++ b/quic/core/quic_connection_stats.h
@@ -90,6 +90,7 @@
int64_t min_rtt_us = 0; // Minimum RTT in microseconds.
int64_t srtt_us = 0; // Smoothed RTT in microseconds.
+ int64_t cwnd_bootstrapping_rtt_us = 0; // RTT used in cwnd_bootstrapping.
QuicByteCount max_packet_size = 0;
QuicByteCount max_received_packet_size = 0;
QuicBandwidth estimated_bandwidth = QuicBandwidth::Zero();