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

Side by Side Diff: net/quic/quic_flow_controller_test.cc

Issue 2181813002: deprecate FLAGS_quic_auto_tune_receive_window, FLAGS_quic_enable_autotune_by_defau… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@128178269
Patch Set: Created 4 years, 5 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 | « net/quic/quic_flow_controller.cc ('k') | net/quic/quic_session.h » ('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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/quic_flow_controller.h" 5 #include "net/quic/quic_flow_controller.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/format_macros.h" 9 #include "base/format_macros.h"
10 #include "base/strings/stringprintf.h" 10 #include "base/strings/stringprintf.h"
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 EXPECT_EQ(send_window_, flow_controller_->SendWindowSize()); 149 EXPECT_EQ(send_window_, flow_controller_->SendWindowSize());
150 flow_controller_->AddBytesSent(send_window_); 150 flow_controller_->AddBytesSent(send_window_);
151 EXPECT_TRUE(flow_controller_->IsBlocked()); 151 EXPECT_TRUE(flow_controller_->IsBlocked());
152 EXPECT_EQ(0u, flow_controller_->SendWindowSize()); 152 EXPECT_EQ(0u, flow_controller_->SendWindowSize());
153 153
154 // BLOCKED frame should get sent as send offset has changed. 154 // BLOCKED frame should get sent as send offset has changed.
155 flow_controller_->MaybeSendBlocked(); 155 flow_controller_->MaybeSendBlocked();
156 } 156 }
157 157
158 TEST_F(QuicFlowControllerTest, ReceivingBytesFastIncreasesFlowWindow) { 158 TEST_F(QuicFlowControllerTest, ReceivingBytesFastIncreasesFlowWindow) {
159 FLAGS_quic_auto_tune_receive_window = true;
160 // This test will generate two WINDOW_UPDATE frames. 159 // This test will generate two WINDOW_UPDATE frames.
161 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2); 160 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2);
162 161
163 Initialize(); 162 Initialize();
164 flow_controller_->set_auto_tune_receive_window(true); 163 flow_controller_->set_auto_tune_receive_window(true);
165 164
166 // Make sure clock is inititialized. 165 // Make sure clock is inititialized.
167 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 166 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
168 167
169 QuicSentPacketManagerInterface* manager = 168 QuicSentPacketManagerInterface* manager =
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2 * kRtt - 1)); 201 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(2 * kRtt - 1));
203 receive_offset += threshold + 1; 202 receive_offset += threshold + 1;
204 EXPECT_TRUE(flow_controller_->UpdateHighestReceivedOffset(receive_offset)); 203 EXPECT_TRUE(flow_controller_->UpdateHighestReceivedOffset(receive_offset));
205 flow_controller_->AddBytesConsumed(threshold + 1); 204 flow_controller_->AddBytesConsumed(threshold + 1);
206 EXPECT_FALSE(flow_controller_->FlowControlViolation()); 205 EXPECT_FALSE(flow_controller_->FlowControlViolation());
207 QuicByteCount new_threshold = 206 QuicByteCount new_threshold =
208 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); 207 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get());
209 EXPECT_GT(new_threshold, threshold); 208 EXPECT_GT(new_threshold, threshold);
210 } 209 }
211 210
212 TEST_F(QuicFlowControllerTest, ReceivingBytesFastStatusQuo) { 211 TEST_F(QuicFlowControllerTest, ReceivingBytesFastNoAutoTune) {
213 FLAGS_quic_auto_tune_receive_window = false;
214 // This test will generate two WINDOW_UPDATE frames. 212 // This test will generate two WINDOW_UPDATE frames.
215 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2); 213 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2);
216 214
217 Initialize(); 215 Initialize();
218 flow_controller_->set_auto_tune_receive_window(true); 216 flow_controller_->set_auto_tune_receive_window(false);
219 217
220 // Make sure clock is inititialized. 218 // Make sure clock is inititialized.
221 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 219 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
222 220
223 QuicSentPacketManagerInterface* manager = 221 QuicSentPacketManagerInterface* manager =
224 QuicConnectionPeer::GetSentPacketManager(&connection_, kDefaultPathId); 222 QuicConnectionPeer::GetSentPacketManager(&connection_, kDefaultPathId);
225 223
226 RttStats* rtt_stats = const_cast<RttStats*>(manager->GetRttStats()); 224 RttStats* rtt_stats = const_cast<RttStats*>(manager->GetRttStats());
227 rtt_stats->UpdateRtt(QuicTime::Delta::FromMilliseconds(kRtt), 225 rtt_stats->UpdateRtt(QuicTime::Delta::FromMilliseconds(kRtt),
228 QuicTime::Delta::Zero(), QuicTime::Zero()); 226 QuicTime::Delta::Zero(), QuicTime::Zero());
(...skipping 28 matching lines...) Expand all
257 receive_offset += threshold + 1; 255 receive_offset += threshold + 1;
258 EXPECT_TRUE(flow_controller_->UpdateHighestReceivedOffset(receive_offset)); 256 EXPECT_TRUE(flow_controller_->UpdateHighestReceivedOffset(receive_offset));
259 flow_controller_->AddBytesConsumed(threshold + 1); 257 flow_controller_->AddBytesConsumed(threshold + 1);
260 EXPECT_FALSE(flow_controller_->FlowControlViolation()); 258 EXPECT_FALSE(flow_controller_->FlowControlViolation());
261 QuicByteCount new_threshold = 259 QuicByteCount new_threshold =
262 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); 260 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get());
263 EXPECT_EQ(new_threshold, threshold); 261 EXPECT_EQ(new_threshold, threshold);
264 } 262 }
265 263
266 TEST_F(QuicFlowControllerTest, ReceivingBytesNormalStableFlowWindow) { 264 TEST_F(QuicFlowControllerTest, ReceivingBytesNormalStableFlowWindow) {
267 FLAGS_quic_auto_tune_receive_window = true;
268 // This test will generate two WINDOW_UPDATE frames. 265 // This test will generate two WINDOW_UPDATE frames.
269 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2); 266 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2);
270 267
271 Initialize(); 268 Initialize();
272 flow_controller_->set_auto_tune_receive_window(true); 269 flow_controller_->set_auto_tune_receive_window(true);
273 270
274 // Make sure clock is inititialized. 271 // Make sure clock is inititialized.
275 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 272 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
276 273
277 QuicSentPacketManagerInterface* manager = 274 QuicSentPacketManagerInterface* manager =
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 309
313 flow_controller_->AddBytesConsumed(threshold + 1); 310 flow_controller_->AddBytesConsumed(threshold + 1);
314 EXPECT_FALSE(flow_controller_->FlowControlViolation()); 311 EXPECT_FALSE(flow_controller_->FlowControlViolation());
315 312
316 QuicByteCount new_threshold = 313 QuicByteCount new_threshold =
317 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); 314 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get());
318 315
319 EXPECT_EQ(new_threshold, threshold); 316 EXPECT_EQ(new_threshold, threshold);
320 } 317 }
321 318
322 TEST_F(QuicFlowControllerTest, ReceivingBytesNormalStatusQuo) { 319 TEST_F(QuicFlowControllerTest, ReceivingBytesNormalNoAutoTune) {
323 FLAGS_quic_auto_tune_receive_window = false;
324 // This test will generate two WINDOW_UPDATE frames. 320 // This test will generate two WINDOW_UPDATE frames.
325 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2); 321 EXPECT_CALL(connection_, SendWindowUpdate(stream_id_, ::testing::_)).Times(2);
326 322
327 Initialize(); 323 Initialize();
328 flow_controller_->set_auto_tune_receive_window(true); 324 flow_controller_->set_auto_tune_receive_window(false);
329 325
330 // Make sure clock is inititialized. 326 // Make sure clock is inititialized.
331 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1)); 327 connection_.AdvanceTime(QuicTime::Delta::FromMilliseconds(1));
332 328
333 QuicSentPacketManagerInterface* manager = 329 QuicSentPacketManagerInterface* manager =
334 QuicConnectionPeer::GetSentPacketManager(&connection_, kDefaultPathId); 330 QuicConnectionPeer::GetSentPacketManager(&connection_, kDefaultPathId);
335 RttStats* rtt_stats = const_cast<RttStats*>(manager->GetRttStats()); 331 RttStats* rtt_stats = const_cast<RttStats*>(manager->GetRttStats());
336 rtt_stats->UpdateRtt(QuicTime::Delta::FromMilliseconds(kRtt), 332 rtt_stats->UpdateRtt(QuicTime::Delta::FromMilliseconds(kRtt),
337 QuicTime::Delta::Zero(), QuicTime::Zero()); 333 QuicTime::Delta::Zero(), QuicTime::Zero());
338 334
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 EXPECT_FALSE(flow_controller_->FlowControlViolation()); 366 EXPECT_FALSE(flow_controller_->FlowControlViolation());
371 367
372 QuicByteCount new_threshold = 368 QuicByteCount new_threshold =
373 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get()); 369 QuicFlowControllerPeer::WindowUpdateThreshold(flow_controller_.get());
374 370
375 EXPECT_EQ(new_threshold, threshold); 371 EXPECT_EQ(new_threshold, threshold);
376 } 372 }
377 373
378 } // namespace test 374 } // namespace test
379 } // namespace net 375 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_flow_controller.cc ('k') | net/quic/quic_session.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698