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

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

Issue 2351963005: Limit QUIC's Cubic CWND increases to 1/2 the bytes acked when in (Closed)
Patch Set: Created 4 years, 2 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/core/congestion_control/cubic.h" 5 #include "net/quic/core/congestion_control/cubic.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/quic/core/quic_flags.h"
8 #include "net/quic/test_tools/mock_clock.h" 9 #include "net/quic/test_tools/mock_clock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 namespace net { 12 namespace net {
12 namespace test { 13 namespace test {
13 14
14 const float kBeta = 0.7f; // Default Cubic backoff factor. 15 const float kBeta = 0.7f; // Default Cubic backoff factor.
15 const uint32_t kNumConnections = 2; 16 const uint32_t kNumConnections = 2;
16 const float kNConnectionBeta = (kNumConnections - 1 + kBeta) / kNumConnections; 17 const float kNConnectionBeta = (kNumConnections - 1 + kBeta) / kNumConnections;
17 const float kNConnectionAlpha = 3 * kNumConnections * kNumConnections * 18 const float kNConnectionAlpha = 3 * kNumConnections * kNumConnections *
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 EXPECT_EQ(expected_cwnd, 99 EXPECT_EQ(expected_cwnd,
99 cubic_.CongestionWindowAfterPacketLoss(current_cwnd)); 100 cubic_.CongestionWindowAfterPacketLoss(current_cwnd));
100 current_cwnd = expected_cwnd; 101 current_cwnd = expected_cwnd;
101 // First update after loss to initialize the epoch. 102 // First update after loss to initialize the epoch.
102 current_cwnd = cubic_.CongestionWindowAfterAck(current_cwnd, rtt_min); 103 current_cwnd = cubic_.CongestionWindowAfterAck(current_cwnd, rtt_min);
103 // Cubic phase. 104 // Cubic phase.
104 for (int i = 0; i < 40; ++i) { 105 for (int i = 0; i < 40; ++i) {
105 clock_.AdvanceTime(hundred_ms_); 106 clock_.AdvanceTime(hundred_ms_);
106 current_cwnd = cubic_.CongestionWindowAfterAck(current_cwnd, rtt_min); 107 current_cwnd = cubic_.CongestionWindowAfterAck(current_cwnd, rtt_min);
107 } 108 }
108 expected_cwnd = 422; 109 expected_cwnd = FLAGS_quic_limit_cubic_cwnd_increase ? 399 : 422;
109 EXPECT_EQ(expected_cwnd, current_cwnd); 110 EXPECT_EQ(expected_cwnd, current_cwnd);
110 } 111 }
111 112
112 } // namespace test 113 } // namespace test
113 } // namespace net 114 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/congestion_control/cubic_bytes_test.cc ('k') | net/quic/core/congestion_control/tcp_cubic_sender_bytes_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698