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

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

Issue 2820423002: Move quic_flags.h from net/quic/core to net/quic/platform and split into api and impl. (Closed)
Patch Set: Created 3 years, 8 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 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 <map> 8 #include <map>
9 #include <memory> 9 #include <memory>
10 10
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 // The margin here is high, because the aggregation greatly increases 341 // The margin here is high, because the aggregation greatly increases
342 // smoothed rtt. 342 // smoothed rtt.
343 EXPECT_GE(kTestRtt * 4.5, rtt_stats_->smoothed_rtt()); 343 EXPECT_GE(kTestRtt * 4.5, rtt_stats_->smoothed_rtt());
344 ExpectApproxEq(kTestRtt, rtt_stats_->min_rtt(), 0.1f); 344 ExpectApproxEq(kTestRtt, rtt_stats_->min_rtt(), 0.1f);
345 } 345 }
346 346
347 // Test a simple long data transfer with 2 rtts of aggregation. 347 // Test a simple long data transfer with 2 rtts of aggregation.
348 TEST_F(BbrSenderTest, SimpleTransferAckDecimation) { 348 TEST_F(BbrSenderTest, SimpleTransferAckDecimation) {
349 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes = true; 349 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes = true;
350 // Decrease the CWND gain so extra CWND is required with stretch acks. 350 // Decrease the CWND gain so extra CWND is required with stretch acks.
351 base::SetFlag(&FLAGS_quic_bbr_cwnd_gain, 1.0); 351 SetQuicFlag(&FLAGS_quic_bbr_cwnd_gain, 1.0);
352 sender_ = new BbrSender( 352 sender_ = new BbrSender(
353 rtt_stats_, 353 rtt_stats_,
354 QuicSentPacketManagerPeer::GetUnackedPacketMap( 354 QuicSentPacketManagerPeer::GetUnackedPacketMap(
355 QuicConnectionPeer::GetSentPacketManager(bbr_sender_.connection())), 355 QuicConnectionPeer::GetSentPacketManager(bbr_sender_.connection())),
356 kInitialCongestionWindowPackets, kDefaultMaxCongestionWindowPackets, 356 kInitialCongestionWindowPackets, kDefaultMaxCongestionWindowPackets,
357 &random_); 357 &random_);
358 QuicConnectionPeer::SetSendAlgorithm(bbr_sender_.connection(), sender_); 358 QuicConnectionPeer::SetSendAlgorithm(bbr_sender_.connection(), sender_);
359 // Enable Ack Decimation on the receiver. 359 // Enable Ack Decimation on the receiver.
360 QuicConnectionPeer::SetAckMode(receiver_.connection(), 360 QuicConnectionPeer::SetAckMode(receiver_.connection(),
361 QuicConnection::AckMode::ACK_DECIMATION); 361 QuicConnection::AckMode::ACK_DECIMATION);
(...skipping 16 matching lines...) Expand all
378 // smoothed rtt. 378 // smoothed rtt.
379 EXPECT_GE(kTestRtt * 2, rtt_stats_->smoothed_rtt()); 379 EXPECT_GE(kTestRtt * 2, rtt_stats_->smoothed_rtt());
380 ExpectApproxEq(kTestRtt, rtt_stats_->min_rtt(), 0.1f); 380 ExpectApproxEq(kTestRtt, rtt_stats_->min_rtt(), 0.1f);
381 } 381 }
382 382
383 TEST_F(BbrSenderTest, SimpleTransferAckDecimationKeepSending) { 383 TEST_F(BbrSenderTest, SimpleTransferAckDecimationKeepSending) {
384 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes = false; 384 FLAGS_quic_reloadable_flag_quic_bbr_ack_aggregation_bytes = false;
385 FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd = true; 385 FLAGS_quic_reloadable_flag_quic_bbr_add_tso_cwnd = true;
386 FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate = true; 386 FLAGS_quic_reloadable_flag_quic_bbr_keep_sending_at_recent_rate = true;
387 // Decrease the CWND gain so extra CWND is required with stretch acks. 387 // Decrease the CWND gain so extra CWND is required with stretch acks.
388 base::SetFlag(&FLAGS_quic_bbr_cwnd_gain, 1.0); 388 SetQuicFlag(&FLAGS_quic_bbr_cwnd_gain, 1.0);
389 sender_ = new BbrSender( 389 sender_ = new BbrSender(
390 rtt_stats_, 390 rtt_stats_,
391 QuicSentPacketManagerPeer::GetUnackedPacketMap( 391 QuicSentPacketManagerPeer::GetUnackedPacketMap(
392 QuicConnectionPeer::GetSentPacketManager(bbr_sender_.connection())), 392 QuicConnectionPeer::GetSentPacketManager(bbr_sender_.connection())),
393 kInitialCongestionWindowPackets, kDefaultMaxCongestionWindowPackets, 393 kInitialCongestionWindowPackets, kDefaultMaxCongestionWindowPackets,
394 &random_); 394 &random_);
395 QuicConnectionPeer::SetSendAlgorithm(bbr_sender_.connection(), sender_); 395 QuicConnectionPeer::SetSendAlgorithm(bbr_sender_.connection(), sender_);
396 // Enable Ack Decimation on the receiver. 396 // Enable Ack Decimation on the receiver.
397 QuicConnectionPeer::SetAckMode(receiver_.connection(), 397 QuicConnectionPeer::SetAckMode(receiver_.connection(),
398 QuicConnection::AckMode::ACK_DECIMATION); 398 QuicConnection::AckMode::ACK_DECIMATION);
(...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after
761 sender_->ResumeConnectionState(params, false); 761 sender_->ResumeConnectionState(params, false);
762 EXPECT_EQ(kTestLinkBandwidth, sender_->ExportDebugState().max_bandwidth); 762 EXPECT_EQ(kTestLinkBandwidth, sender_->ExportDebugState().max_bandwidth);
763 EXPECT_EQ(kTestLinkBandwidth, sender_->BandwidthEstimate()); 763 EXPECT_EQ(kTestLinkBandwidth, sender_->BandwidthEstimate());
764 ExpectApproxEq(kTestRtt, sender_->ExportDebugState().min_rtt, 0.01f); 764 ExpectApproxEq(kTestRtt, sender_->ExportDebugState().min_rtt, 0.01f);
765 765
766 DriveOutOfStartup(); 766 DriveOutOfStartup();
767 } 767 }
768 768
769 } // namespace test 769 } // namespace test
770 } // namespace net 770 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/core/congestion_control/bbr_sender.cc ('k') | net/quic/core/congestion_control/cubic.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698