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

Unified Diff: net/quic/congestion_control/tcp_cubic_bytes_sender.cc

Issue 1413193009: Remove the kMaxSegmentSize constant from QUIC's TcpCubicSender and TcpCubicBytesSender and replace … (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@106333315
Patch Set: Created 5 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | net/quic/congestion_control/tcp_cubic_sender.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/quic/congestion_control/tcp_cubic_bytes_sender.cc
diff --git a/net/quic/congestion_control/tcp_cubic_bytes_sender.cc b/net/quic/congestion_control/tcp_cubic_bytes_sender.cc
index 06288dbf58bd5c19bc8aab50a53d304ddb86a0f7..f3e6a3eaa9fa6e5f185d5909c313568e20716d91 100644
--- a/net/quic/congestion_control/tcp_cubic_bytes_sender.cc
+++ b/net/quic/congestion_control/tcp_cubic_bytes_sender.cc
@@ -22,8 +22,7 @@ namespace {
// The minimum cwnd based on RFC 3782 (TCP NewReno) for cwnd reductions on a
// fast retransmission.
const QuicByteCount kDefaultMinimumCongestionWindow = 2 * kDefaultTCPMSS;
-const QuicByteCount kMaxSegmentSize = kDefaultTCPMSS;
-const QuicByteCount kMaxBurstBytes = 3 * kMaxSegmentSize;
+const QuicByteCount kMaxBurstBytes = 3 * kDefaultTCPMSS;
const float kRenoBeta = 0.7f; // Reno backoff factor.
const uint32 kDefaultNumConnections = 2; // N-connection emulation.
} // namespace
@@ -44,11 +43,11 @@ TcpCubicBytesSender::TcpCubicBytesSender(
largest_sent_packet_number_(0),
largest_acked_packet_number_(0),
largest_sent_at_last_cutback_(0),
- congestion_window_(initial_tcp_congestion_window * kMaxSegmentSize),
+ congestion_window_(initial_tcp_congestion_window * kDefaultTCPMSS),
min_congestion_window_(kDefaultMinimumCongestionWindow),
min4_mode_(false),
- max_congestion_window_(max_congestion_window * kMaxSegmentSize),
- slowstart_threshold_(max_congestion_window * kMaxSegmentSize),
+ max_congestion_window_(max_congestion_window * kDefaultTCPMSS),
+ slowstart_threshold_(max_congestion_window * kDefaultTCPMSS),
last_cutback_exited_slowstart_(false),
clock_(clock) {}
@@ -61,18 +60,18 @@ void TcpCubicBytesSender::SetFromConfig(const QuicConfig& config,
if (config.HasReceivedConnectionOptions() &&
ContainsQuicTag(config.ReceivedConnectionOptions(), kIW10)) {
// Initial window experiment.
- congestion_window_ = 10 * kMaxSegmentSize;
+ congestion_window_ = 10 * kDefaultTCPMSS;
}
if (config.HasReceivedConnectionOptions() &&
ContainsQuicTag(config.ReceivedConnectionOptions(), kMIN1)) {
// Min CWND experiment.
- min_congestion_window_ = kMaxSegmentSize;
+ min_congestion_window_ = kDefaultTCPMSS;
}
if (config.HasReceivedConnectionOptions() &&
ContainsQuicTag(config.ReceivedConnectionOptions(), kMIN4)) {
// Min CWND of 4 experiment.
min4_mode_ = true;
- min_congestion_window_ = kMaxSegmentSize;
+ min_congestion_window_ = kDefaultTCPMSS;
}
}
}
@@ -90,8 +89,8 @@ void TcpCubicBytesSender::ResumeConnectionState(
// Make sure CWND is in appropriate range (in case of bad data).
QuicByteCount new_congestion_window = bandwidth.ToBytesPerPeriod(rtt_ms);
congestion_window_ =
- max(min(new_congestion_window, kMaxCongestionWindow * kMaxSegmentSize),
- kMinCongestionWindowForBandwidthResumption * kMaxSegmentSize);
+ max(min(new_congestion_window, kMaxCongestionWindow * kDefaultTCPMSS),
+ kMinCongestionWindowForBandwidthResumption * kDefaultTCPMSS);
}
void TcpCubicBytesSender::SetNumEmulatedConnections(int num_connections) {
@@ -120,7 +119,7 @@ void TcpCubicBytesSender::OnCongestionEvent(
if (rtt_updated && InSlowStart() &&
hybrid_slow_start_.ShouldExitSlowStart(
rtt_stats_->latest_rtt(), rtt_stats_->min_rtt(),
- congestion_window_ / kMaxSegmentSize)) {
+ congestion_window_ / kDefaultTCPMSS)) {
slowstart_threshold_ = congestion_window_;
}
for (CongestionVector::const_iterator it = lost_packets.begin();
@@ -227,7 +226,7 @@ QuicTime::Delta TcpCubicBytesSender::TimeUntilSend(
if (GetCongestionWindow() > bytes_in_flight) {
return QuicTime::Delta::Zero();
}
- if (min4_mode_ && bytes_in_flight < 4 * kMaxSegmentSize) {
+ if (min4_mode_ && bytes_in_flight < 4 * kDefaultTCPMSS) {
return QuicTime::Delta::Zero();
}
return QuicTime::Delta::Infinite();
@@ -310,7 +309,7 @@ void TcpCubicBytesSender::MaybeIncreaseCwnd(
}
if (InSlowStart()) {
// TCP slow start, exponential growth, increase by one for each ACK.
- congestion_window_ += kMaxSegmentSize;
+ congestion_window_ += kDefaultTCPMSS;
DVLOG(1) << "Slow start; congestion window: " << congestion_window_
<< " slowstart threshold: " << slowstart_threshold_;
return;
@@ -322,8 +321,8 @@ void TcpCubicBytesSender::MaybeIncreaseCwnd(
// Divide by num_connections to smoothly increase the CWND at a faster rate
// than conventional Reno.
if (num_acked_packets_ * num_connections_ >=
- congestion_window_ / kMaxSegmentSize) {
- congestion_window_ += kMaxSegmentSize;
+ congestion_window_ / kDefaultTCPMSS) {
+ congestion_window_ += kDefaultTCPMSS;
num_acked_packets_ = 0;
}
« no previous file with comments | « no previous file | net/quic/congestion_control/tcp_cubic_sender.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698