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

Side by Side Diff: net/quic/congestion_control/tcp_cubic_sender_base.cc

Issue 1814873002: Use byte conservation instead of packet conservation in QUIC's Slow Start Large Recovery experiment… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@116904472
Patch Set: Created 4 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/congestion_control/tcp_cubic_sender_packets.h" 5 #include "net/quic/congestion_control/tcp_cubic_sender_packets.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/metrics/histogram_macros.h" 9 #include "base/metrics/histogram_macros.h"
10 #include "net/quic/congestion_control/prr_sender.h" 10 #include "net/quic/congestion_control/prr_sender.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 const CongestionVector& acked_packets, 118 const CongestionVector& acked_packets,
119 const CongestionVector& lost_packets) { 119 const CongestionVector& lost_packets) {
120 if (rtt_updated && InSlowStart() && 120 if (rtt_updated && InSlowStart() &&
121 hybrid_slow_start_.ShouldExitSlowStart( 121 hybrid_slow_start_.ShouldExitSlowStart(
122 rtt_stats_->latest_rtt(), rtt_stats_->min_rtt(), 122 rtt_stats_->latest_rtt(), rtt_stats_->min_rtt(),
123 GetCongestionWindow() / kDefaultTCPMSS)) { 123 GetCongestionWindow() / kDefaultTCPMSS)) {
124 ExitSlowstart(); 124 ExitSlowstart();
125 } 125 }
126 for (CongestionVector::const_iterator it = lost_packets.begin(); 126 for (CongestionVector::const_iterator it = lost_packets.begin();
127 it != lost_packets.end(); ++it) { 127 it != lost_packets.end(); ++it) {
128 OnPacketLost(it->first, bytes_in_flight); 128 OnPacketLost(it->first, it->second, bytes_in_flight);
129 } 129 }
130 for (CongestionVector::const_iterator it = acked_packets.begin(); 130 for (CongestionVector::const_iterator it = acked_packets.begin();
131 it != acked_packets.end(); ++it) { 131 it != acked_packets.end(); ++it) {
132 OnPacketAcked(it->first, it->second, bytes_in_flight); 132 OnPacketAcked(it->first, it->second, bytes_in_flight);
133 } 133 }
134 } 134 }
135 135
136 void TcpCubicSenderBase::OnPacketAcked(QuicPacketNumber acked_packet_number, 136 void TcpCubicSenderBase::OnPacketAcked(QuicPacketNumber acked_packet_number,
137 QuicByteCount acked_bytes, 137 QuicByteCount acked_bytes,
138 QuicByteCount bytes_in_flight) { 138 QuicByteCount bytes_in_flight) {
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 void TcpCubicSenderBase::OnConnectionMigration() { 252 void TcpCubicSenderBase::OnConnectionMigration() {
253 hybrid_slow_start_.Restart(); 253 hybrid_slow_start_.Restart();
254 prr_ = PrrSender(); 254 prr_ = PrrSender();
255 largest_sent_packet_number_ = 0; 255 largest_sent_packet_number_ = 0;
256 largest_acked_packet_number_ = 0; 256 largest_acked_packet_number_ = 0;
257 largest_sent_at_last_cutback_ = 0; 257 largest_sent_at_last_cutback_ = 0;
258 last_cutback_exited_slowstart_ = false; 258 last_cutback_exited_slowstart_ = false;
259 } 259 }
260 260
261 } // namespace net 261 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/congestion_control/tcp_cubic_sender_base.h ('k') | net/quic/congestion_control/tcp_cubic_sender_bytes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698