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

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

Issue 1814843002: Remove the unused has_retransmittable_data argument from QuicSendAlgorithm::TimeUntilSend. No func… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@116887287
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
« no previous file with comments | « net/quic/quic_sent_packet_manager.cc ('k') | net/quic/quic_session_test.cc » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_sent_packet_manager.h" 5 #include "net/quic/quic_sent_packet_manager.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "net/quic/quic_flags.h" 8 #include "net/quic/quic_flags.h"
9 #include "net/quic/test_tools/quic_config_peer.h" 9 #include "net/quic/test_tools/quic_config_peer.h"
10 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h" 10 #include "net/quic/test_tools/quic_sent_packet_manager_peer.h"
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
634 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 634 EXPECT_FALSE(manager_.HasPendingRetransmissions());
635 635
636 // The second tail loss probe retransmits 1 packet. 636 // The second tail loss probe retransmits 1 packet.
637 manager_.OnRetransmissionTimeout(); 637 manager_.OnRetransmissionTimeout();
638 EXPECT_EQ(QuicTime::Delta::Zero(), 638 EXPECT_EQ(QuicTime::Delta::Zero(),
639 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 639 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
640 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 640 EXPECT_FALSE(manager_.HasPendingRetransmissions());
641 manager_.MaybeRetransmitTailLossProbe(); 641 manager_.MaybeRetransmitTailLossProbe();
642 EXPECT_TRUE(manager_.HasPendingRetransmissions()); 642 EXPECT_TRUE(manager_.HasPendingRetransmissions());
643 RetransmitNextPacket(3); 643 RetransmitNextPacket(3);
644 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 644 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
645 .WillOnce(Return(QuicTime::Delta::Infinite())); 645 .WillOnce(Return(QuicTime::Delta::Infinite()));
646 EXPECT_EQ(QuicTime::Delta::Infinite(), 646 EXPECT_EQ(QuicTime::Delta::Infinite(),
647 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 647 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
648 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 648 EXPECT_FALSE(manager_.HasPendingRetransmissions());
649 649
650 // Ack the third and ensure the first two are still pending. 650 // Ack the third and ensure the first two are still pending.
651 ExpectAck(3); 651 ExpectAck(3);
652 QuicAckFrame ack_frame; 652 QuicAckFrame ack_frame;
653 ack_frame.largest_observed = 3; 653 ack_frame.largest_observed = 3;
654 ack_frame.missing_packets.Add(1, 3); 654 ack_frame.missing_packets.Add(1, 3);
(...skipping 26 matching lines...) Expand all
681 clock_.AdvanceTime(manager_.GetRetransmissionTime().Subtract(clock_.Now())); 681 clock_.AdvanceTime(manager_.GetRetransmissionTime().Subtract(clock_.Now()));
682 682
683 // The first tail loss probe retransmits 1 packet. 683 // The first tail loss probe retransmits 1 packet.
684 manager_.OnRetransmissionTimeout(); 684 manager_.OnRetransmissionTimeout();
685 EXPECT_EQ(QuicTime::Delta::Zero(), 685 EXPECT_EQ(QuicTime::Delta::Zero(),
686 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 686 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
687 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 687 EXPECT_FALSE(manager_.HasPendingRetransmissions());
688 manager_.MaybeRetransmitTailLossProbe(); 688 manager_.MaybeRetransmitTailLossProbe();
689 EXPECT_TRUE(manager_.HasPendingRetransmissions()); 689 EXPECT_TRUE(manager_.HasPendingRetransmissions());
690 RetransmitNextPacket(101); 690 RetransmitNextPacket(101);
691 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 691 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
692 .WillOnce(Return(QuicTime::Delta::Infinite())); 692 .WillOnce(Return(QuicTime::Delta::Infinite()));
693 EXPECT_EQ(QuicTime::Delta::Infinite(), 693 EXPECT_EQ(QuicTime::Delta::Infinite(),
694 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 694 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
695 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 695 EXPECT_FALSE(manager_.HasPendingRetransmissions());
696 clock_.AdvanceTime(manager_.GetRetransmissionTime().Subtract(clock_.Now())); 696 clock_.AdvanceTime(manager_.GetRetransmissionTime().Subtract(clock_.Now()));
697 697
698 // The second tail loss probe retransmits 1 packet. 698 // The second tail loss probe retransmits 1 packet.
699 manager_.OnRetransmissionTimeout(); 699 manager_.OnRetransmissionTimeout();
700 EXPECT_EQ(QuicTime::Delta::Zero(), 700 EXPECT_EQ(QuicTime::Delta::Zero(),
701 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 701 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
702 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 702 EXPECT_FALSE(manager_.HasPendingRetransmissions());
703 EXPECT_TRUE(manager_.MaybeRetransmitTailLossProbe()); 703 EXPECT_TRUE(manager_.MaybeRetransmitTailLossProbe());
704 EXPECT_TRUE(manager_.HasPendingRetransmissions()); 704 EXPECT_TRUE(manager_.HasPendingRetransmissions());
705 RetransmitNextPacket(102); 705 RetransmitNextPacket(102);
706 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 706 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
707 .WillOnce(Return(QuicTime::Delta::Infinite())); 707 .WillOnce(Return(QuicTime::Delta::Infinite()));
708 EXPECT_EQ(QuicTime::Delta::Infinite(), 708 EXPECT_EQ(QuicTime::Delta::Infinite(),
709 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 709 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
710 710
711 // Ensure the RTO is set based on the correct packet. 711 // Ensure the RTO is set based on the correct packet.
712 rto_packet_time = clock_.Now(); 712 rto_packet_time = clock_.Now();
713 EXPECT_CALL(*send_algorithm_, RetransmissionDelay()) 713 EXPECT_CALL(*send_algorithm_, RetransmissionDelay())
714 .WillOnce(Return(QuicTime::Delta::FromSeconds(1))); 714 .WillOnce(Return(QuicTime::Delta::FromSeconds(1)));
715 EXPECT_EQ(rto_packet_time.Add(QuicTime::Delta::FromSeconds(1)), 715 EXPECT_EQ(rto_packet_time.Add(QuicTime::Delta::FromSeconds(1)),
716 manager_.GetRetransmissionTime()); 716 manager_.GetRetransmissionTime());
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 1156
1157 // Retransmit the packet by invoking the retransmission timeout. 1157 // Retransmit the packet by invoking the retransmission timeout.
1158 clock_.AdvanceTime(expected_tlp_delay); 1158 clock_.AdvanceTime(expected_tlp_delay);
1159 manager_.OnRetransmissionTimeout(); 1159 manager_.OnRetransmissionTimeout();
1160 EXPECT_EQ(QuicTime::Delta::Zero(), 1160 EXPECT_EQ(QuicTime::Delta::Zero(),
1161 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1161 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1162 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 1162 EXPECT_FALSE(manager_.HasPendingRetransmissions());
1163 EXPECT_TRUE(manager_.MaybeRetransmitTailLossProbe()); 1163 EXPECT_TRUE(manager_.MaybeRetransmitTailLossProbe());
1164 EXPECT_TRUE(manager_.HasPendingRetransmissions()); 1164 EXPECT_TRUE(manager_.HasPendingRetransmissions());
1165 RetransmitNextPacket(3); 1165 RetransmitNextPacket(3);
1166 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 1166 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
1167 .WillOnce(Return(QuicTime::Delta::Infinite())); 1167 .WillOnce(Return(QuicTime::Delta::Infinite()));
1168 EXPECT_EQ(QuicTime::Delta::Infinite(), 1168 EXPECT_EQ(QuicTime::Delta::Infinite(),
1169 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1169 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1170 EXPECT_FALSE(manager_.HasPendingRetransmissions()); 1170 EXPECT_FALSE(manager_.HasPendingRetransmissions());
1171 1171
1172 expected_time = clock_.Now().Add(expected_tlp_delay); 1172 expected_time = clock_.Now().Add(expected_tlp_delay);
1173 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); 1173 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime());
1174 } 1174 }
1175 1175
1176 TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeSpuriousRTO) { 1176 TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeSpuriousRTO) {
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
1505 .WillOnce(Return(10 * kDefaultTCPMSS)); 1505 .WillOnce(Return(10 * kDefaultTCPMSS));
1506 EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange()); 1506 EXPECT_CALL(*network_change_visitor_, OnCongestionWindowChange());
1507 EXPECT_CALL(*network_change_visitor_, OnRttChange()); 1507 EXPECT_CALL(*network_change_visitor_, OnRttChange());
1508 manager_.SetFromConfig(client_config); 1508 manager_.SetFromConfig(client_config);
1509 1509
1510 EXPECT_EQ(kMinSocketReceiveBuffer, 1510 EXPECT_EQ(kMinSocketReceiveBuffer,
1511 QuicSentPacketManagerPeer::GetReceiveWindow(&manager_)); 1511 QuicSentPacketManagerPeer::GetReceiveWindow(&manager_));
1512 1512
1513 // Ensure the smaller send window only allows 16 packets to be sent. 1513 // Ensure the smaller send window only allows 16 packets to be sent.
1514 for (QuicPacketNumber i = 1; i <= 16; ++i) { 1514 for (QuicPacketNumber i = 1; i <= 16; ++i) {
1515 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 1515 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
1516 .WillOnce(Return(QuicTime::Delta::Zero())); 1516 .WillOnce(Return(QuicTime::Delta::Zero()));
1517 EXPECT_EQ(QuicTime::Delta::Zero(), 1517 EXPECT_EQ(QuicTime::Delta::Zero(),
1518 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1518 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1519 EXPECT_CALL(*send_algorithm_, 1519 EXPECT_CALL(*send_algorithm_,
1520 OnPacketSent(_, BytesInFlight(), i, kDefaultLength, 1520 OnPacketSent(_, BytesInFlight(), i, kDefaultLength,
1521 HAS_RETRANSMITTABLE_DATA)) 1521 HAS_RETRANSMITTABLE_DATA))
1522 .WillOnce(Return(true)); 1522 .WillOnce(Return(true));
1523 SerializedPacket packet(CreatePacket(i, true)); 1523 SerializedPacket packet(CreatePacket(i, true));
1524 manager_.OnPacketSent(&packet, 0, clock_.Now(), NOT_RETRANSMISSION, 1524 manager_.OnPacketSent(&packet, 0, clock_.Now(), NOT_RETRANSMISSION,
1525 HAS_RETRANSMITTABLE_DATA); 1525 HAS_RETRANSMITTABLE_DATA);
1526 } 1526 }
1527 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 1527 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
1528 .WillOnce(Return(QuicTime::Delta::Infinite())); 1528 .WillOnce(Return(QuicTime::Delta::Infinite()));
1529 EXPECT_EQ(QuicTime::Delta::Infinite(), 1529 EXPECT_EQ(QuicTime::Delta::Infinite(),
1530 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1530 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1531 } 1531 }
1532 1532
1533 TEST_F(QuicSentPacketManagerTest, ReceiveWindowLimited) { 1533 TEST_F(QuicSentPacketManagerTest, ReceiveWindowLimited) {
1534 EXPECT_EQ(kDefaultSocketReceiveBuffer, 1534 EXPECT_EQ(kDefaultSocketReceiveBuffer,
1535 QuicSentPacketManagerPeer::GetReceiveWindow(&manager_)); 1535 QuicSentPacketManagerPeer::GetReceiveWindow(&manager_));
1536 1536
1537 // Ensure the smaller send window only allows 256 * 0.95 packets to be sent. 1537 // Ensure the smaller send window only allows 256 * 0.95 packets to be sent.
1538 for (QuicPacketNumber i = 1; i <= 244; ++i) { 1538 for (QuicPacketNumber i = 1; i <= 244; ++i) {
1539 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 1539 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
1540 .WillOnce(Return(QuicTime::Delta::Zero())); 1540 .WillOnce(Return(QuicTime::Delta::Zero()));
1541 EXPECT_EQ(QuicTime::Delta::Zero(), 1541 EXPECT_EQ(QuicTime::Delta::Zero(),
1542 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1542 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1543 EXPECT_CALL(*send_algorithm_, 1543 EXPECT_CALL(*send_algorithm_,
1544 OnPacketSent(_, BytesInFlight(), i, kDefaultLength, 1544 OnPacketSent(_, BytesInFlight(), i, kDefaultLength,
1545 HAS_RETRANSMITTABLE_DATA)) 1545 HAS_RETRANSMITTABLE_DATA))
1546 .WillOnce(Return(true)); 1546 .WillOnce(Return(true));
1547 SerializedPacket packet(CreatePacket(i, true)); 1547 SerializedPacket packet(CreatePacket(i, true));
1548 manager_.OnPacketSent(&packet, 0, clock_.Now(), NOT_RETRANSMISSION, 1548 manager_.OnPacketSent(&packet, 0, clock_.Now(), NOT_RETRANSMISSION,
1549 HAS_RETRANSMITTABLE_DATA); 1549 HAS_RETRANSMITTABLE_DATA);
1550 } 1550 }
1551 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _)) 1551 EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _))
1552 .WillOnce(Return(QuicTime::Delta::Infinite())); 1552 .WillOnce(Return(QuicTime::Delta::Infinite()));
1553 EXPECT_EQ(QuicTime::Delta::Infinite(), 1553 EXPECT_EQ(QuicTime::Delta::Infinite(),
1554 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); 1554 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA));
1555 } 1555 }
1556 1556
1557 TEST_F(QuicSentPacketManagerTest, UseInitialRoundTripTimeToSend) { 1557 TEST_F(QuicSentPacketManagerTest, UseInitialRoundTripTimeToSend) {
1558 uint32_t initial_rtt_us = 325000; 1558 uint32_t initial_rtt_us = 325000;
1559 EXPECT_NE(initial_rtt_us, 1559 EXPECT_NE(initial_rtt_us,
1560 manager_.GetRttStats()->smoothed_rtt().ToMicroseconds()); 1560 manager_.GetRttStats()->smoothed_rtt().ToMicroseconds());
1561 1561
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
1634 manager_.OnConnectionMigration(PORT_CHANGE); 1634 manager_.OnConnectionMigration(PORT_CHANGE);
1635 1635
1636 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); 1636 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us());
1637 EXPECT_EQ(1u, manager_.consecutive_rto_count()); 1637 EXPECT_EQ(1u, manager_.consecutive_rto_count());
1638 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); 1638 EXPECT_EQ(2u, manager_.consecutive_tlp_count());
1639 } 1639 }
1640 1640
1641 } // namespace 1641 } // namespace
1642 } // namespace test 1642 } // namespace test
1643 } // namespace net 1643 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_sent_packet_manager.cc ('k') | net/quic/quic_session_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698