| Index: net/quic/core/congestion_control/bbr_sender.cc
|
| diff --git a/net/quic/core/congestion_control/bbr_sender.cc b/net/quic/core/congestion_control/bbr_sender.cc
|
| index 666a9d7f62997bfc452ec7bb7a972cf50139ed2d..4c025330cbad6ace2c3ff49afb79ab8d9ef02b22 100644
|
| --- a/net/quic/core/congestion_control/bbr_sender.cc
|
| +++ b/net/quic/core/congestion_control/bbr_sender.cc
|
| @@ -515,6 +515,25 @@ void BbrSender::UpdateRecoveryState(QuicPacketNumber last_acked_packet,
|
| // Exit recovery if appropriate.
|
| if (!has_losses && last_acked_packet > end_recovery_at_) {
|
| recovery_state_ = NOT_IN_RECOVERY;
|
| + return;
|
| + }
|
| +
|
| + if (!FLAGS_quic_reloadable_flag_quic_bbr_extra_conservation) {
|
| + return;
|
| + }
|
| +
|
| + // Use "single round in conservation" approach outside of PROBE_BW.
|
| + if (mode_ != PROBE_BW) {
|
| + return;
|
| + }
|
| +
|
| + // Switch between conservation and growth depending on position in the
|
| + // gain cycle.
|
| + if (cycle_current_offset_ == 0 ||
|
| + cycle_current_offset_ == kGainCycleLength - 1) {
|
| + recovery_state_ = GROWTH;
|
| + } else {
|
| + recovery_state_ = CONSERVATION;
|
| }
|
| break;
|
| }
|
|
|