Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(983)

Side by Side Diff: net/quic/core/congestion_control/bbr_sender.cc

Issue 2859913003: deprecate FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate in disabled state. (Closed)
Patch Set: Updated patchset dependency Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | net/quic/core/congestion_control/bbr_sender_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/quic/core/congestion_control/bbr_sender.h" 5 #include "net/quic/core/congestion_control/bbr_sender.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "net/quic/core/congestion_control/rtt_stats.h" 10 #include "net/quic/core/congestion_control/rtt_stats.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 return QuicTime::Delta::Zero(); 185 return QuicTime::Delta::Zero();
186 } 186 }
187 return QuicTime::Delta::Infinite(); 187 return QuicTime::Delta::Infinite();
188 } 188 }
189 189
190 QuicBandwidth BbrSender::PacingRate(QuicByteCount bytes_in_flight) const { 190 QuicBandwidth BbrSender::PacingRate(QuicByteCount bytes_in_flight) const {
191 if (pacing_rate_.IsZero()) { 191 if (pacing_rate_.IsZero()) {
192 return kHighGain * QuicBandwidth::FromBytesAndTimeDelta( 192 return kHighGain * QuicBandwidth::FromBytesAndTimeDelta(
193 initial_congestion_window_, GetMinRtt()); 193 initial_congestion_window_, GetMinRtt());
194 } 194 }
195 if (FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate &&
196 mode_ == PROBE_BW && bytes_in_flight > congestion_window_) {
197 QUIC_FLAG_COUNT_N(quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate,
198 1, 2);
199 if (pacing_gain_ > 1) {
200 return max_bandwidth_.GetBest();
201 } else {
202 return max_bandwidth_.GetThirdBest();
203 }
204 }
205 return pacing_rate_; 195 return pacing_rate_;
206 } 196 }
207 197
208 QuicBandwidth BbrSender::BandwidthEstimate() const { 198 QuicBandwidth BbrSender::BandwidthEstimate() const {
209 return max_bandwidth_.GetBest(); 199 return max_bandwidth_.GetBest();
210 } 200 }
211 201
212 QuicByteCount BbrSender::GetCongestionWindow() const { 202 QuicByteCount BbrSender::GetCongestionWindow() const {
213 if (mode_ == PROBE_RTT) { 203 if (mode_ == PROBE_RTT) {
214 return kMinimumCongestionWindow; 204 return kMinimumCongestionWindow;
215 } 205 }
216 206
217 if (InRecovery()) { 207 if (InRecovery()) {
218 return std::min(congestion_window_, recovery_window_); 208 return std::min(congestion_window_, recovery_window_);
219 } 209 }
220 210
221 if (FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate &&
222 mode_ == PROBE_BW && pacing_gain_ >= 1) {
223 QUIC_FLAG_COUNT_N(quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate,
224 2, 2);
225 // Send for another SRTT at a more recently measured bandwidth.
226 return congestion_window_ +
227 max_bandwidth_.GetThirdBest() * rtt_stats_->smoothed_rtt();
228 }
229
230 return congestion_window_; 211 return congestion_window_;
231 } 212 }
232 213
233 QuicByteCount BbrSender::GetSlowStartThreshold() const { 214 QuicByteCount BbrSender::GetSlowStartThreshold() const {
234 return 0; 215 return 0;
235 } 216 }
236 217
237 bool BbrSender::InRecovery() const { 218 bool BbrSender::InRecovery() const {
238 return recovery_state_ != NOT_IN_RECOVERY; 219 return recovery_state_ != NOT_IN_RECOVERY;
239 } 220 }
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 os << "Minimum RTT timestamp: " << state.min_rtt_timestamp.ToDebuggingValue() 830 os << "Minimum RTT timestamp: " << state.min_rtt_timestamp.ToDebuggingValue()
850 << std::endl; 831 << std::endl;
851 832
852 os << "Last sample is app-limited: " 833 os << "Last sample is app-limited: "
853 << (state.last_sample_is_app_limited ? "yes" : "no"); 834 << (state.last_sample_is_app_limited ? "yes" : "no");
854 835
855 return os; 836 return os;
856 } 837 }
857 838
858 } // namespace net 839 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/quic/core/congestion_control/bbr_sender_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698