OLD | NEW |
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 <memory> | 7 #include <memory> |
8 | 8 |
9 #include "base/stl_util.h" | 9 #include "base/stl_util.h" |
10 #include "net/quic/quic_flags.h" | 10 #include "net/quic/quic_flags.h" |
(...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
644 TEST_P(QuicSentPacketManagerTest, Rtt) { | 644 TEST_P(QuicSentPacketManagerTest, Rtt) { |
645 QuicPacketNumber packet_number = 1; | 645 QuicPacketNumber packet_number = 1; |
646 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(15); | 646 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(15); |
647 SendDataPacket(packet_number); | 647 SendDataPacket(packet_number); |
648 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); | 648 clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20)); |
649 | 649 |
650 ExpectAck(packet_number); | 650 ExpectAck(packet_number); |
651 QuicAckFrame ack_frame = InitAckFrame(packet_number); | 651 QuicAckFrame ack_frame = InitAckFrame(packet_number); |
652 ack_frame.ack_delay_time = QuicTime::Delta::FromMilliseconds(5); | 652 ack_frame.ack_delay_time = QuicTime::Delta::FromMilliseconds(5); |
653 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 653 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
654 EXPECT_EQ(expected_rtt, | 654 EXPECT_EQ(expected_rtt, manager_.GetRttStats()->latest_rtt()); |
655 QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); | |
656 } | 655 } |
657 | 656 |
658 TEST_P(QuicSentPacketManagerTest, RttWithInvalidDelta) { | 657 TEST_P(QuicSentPacketManagerTest, RttWithInvalidDelta) { |
659 // Expect that the RTT is equal to the local time elapsed, since the | 658 // Expect that the RTT is equal to the local time elapsed, since the |
660 // ack_delay_time is larger than the local time elapsed | 659 // ack_delay_time is larger than the local time elapsed |
661 // and is hence invalid. | 660 // and is hence invalid. |
662 QuicPacketNumber packet_number = 1; | 661 QuicPacketNumber packet_number = 1; |
663 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); | 662 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); |
664 SendDataPacket(packet_number); | 663 SendDataPacket(packet_number); |
665 clock_.AdvanceTime(expected_rtt); | 664 clock_.AdvanceTime(expected_rtt); |
666 | 665 |
667 ExpectAck(packet_number); | 666 ExpectAck(packet_number); |
668 QuicAckFrame ack_frame = InitAckFrame(packet_number); | 667 QuicAckFrame ack_frame = InitAckFrame(packet_number); |
669 ack_frame.ack_delay_time = QuicTime::Delta::FromMilliseconds(11); | 668 ack_frame.ack_delay_time = QuicTime::Delta::FromMilliseconds(11); |
670 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 669 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
671 EXPECT_EQ(expected_rtt, | 670 EXPECT_EQ(expected_rtt, manager_.GetRttStats()->latest_rtt()); |
672 QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); | |
673 } | 671 } |
674 | 672 |
675 TEST_P(QuicSentPacketManagerTest, RttWithInfiniteDelta) { | 673 TEST_P(QuicSentPacketManagerTest, RttWithInfiniteDelta) { |
676 // Expect that the RTT is equal to the local time elapsed, since the | 674 // Expect that the RTT is equal to the local time elapsed, since the |
677 // ack_delay_time is infinite, and is hence invalid. | 675 // ack_delay_time is infinite, and is hence invalid. |
678 QuicPacketNumber packet_number = 1; | 676 QuicPacketNumber packet_number = 1; |
679 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); | 677 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); |
680 SendDataPacket(packet_number); | 678 SendDataPacket(packet_number); |
681 clock_.AdvanceTime(expected_rtt); | 679 clock_.AdvanceTime(expected_rtt); |
682 | 680 |
683 ExpectAck(packet_number); | 681 ExpectAck(packet_number); |
684 QuicAckFrame ack_frame = InitAckFrame(packet_number); | 682 QuicAckFrame ack_frame = InitAckFrame(packet_number); |
685 ack_frame.ack_delay_time = QuicTime::Delta::Infinite(); | 683 ack_frame.ack_delay_time = QuicTime::Delta::Infinite(); |
686 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 684 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
687 EXPECT_EQ(expected_rtt, | 685 EXPECT_EQ(expected_rtt, manager_.GetRttStats()->latest_rtt()); |
688 QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); | |
689 } | 686 } |
690 | 687 |
691 TEST_P(QuicSentPacketManagerTest, RttZeroDelta) { | 688 TEST_P(QuicSentPacketManagerTest, RttZeroDelta) { |
692 // Expect that the RTT is the time between send and receive since the | 689 // Expect that the RTT is the time between send and receive since the |
693 // ack_delay_time is zero. | 690 // ack_delay_time is zero. |
694 QuicPacketNumber packet_number = 1; | 691 QuicPacketNumber packet_number = 1; |
695 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); | 692 QuicTime::Delta expected_rtt = QuicTime::Delta::FromMilliseconds(10); |
696 SendDataPacket(packet_number); | 693 SendDataPacket(packet_number); |
697 clock_.AdvanceTime(expected_rtt); | 694 clock_.AdvanceTime(expected_rtt); |
698 | 695 |
699 ExpectAck(packet_number); | 696 ExpectAck(packet_number); |
700 QuicAckFrame ack_frame = InitAckFrame(packet_number); | 697 QuicAckFrame ack_frame = InitAckFrame(packet_number); |
701 ack_frame.ack_delay_time = QuicTime::Delta::Zero(); | 698 ack_frame.ack_delay_time = QuicTime::Delta::Zero(); |
702 manager_.OnIncomingAck(ack_frame, clock_.Now()); | 699 manager_.OnIncomingAck(ack_frame, clock_.Now()); |
703 EXPECT_EQ(expected_rtt, | 700 EXPECT_EQ(expected_rtt, manager_.GetRttStats()->latest_rtt()); |
704 QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); | |
705 } | 701 } |
706 | 702 |
707 TEST_P(QuicSentPacketManagerTest, TailLossProbeTimeout) { | 703 TEST_P(QuicSentPacketManagerTest, TailLossProbeTimeout) { |
708 QuicSentPacketManagerPeer::SetMaxTailLossProbes(&manager_, 2); | 704 QuicSentPacketManagerPeer::SetMaxTailLossProbes(&manager_, 2); |
709 | 705 |
710 // Send 1 packet. | 706 // Send 1 packet. |
711 QuicPacketNumber packet_number = 1; | 707 QuicPacketNumber packet_number = 1; |
712 SendDataPacket(packet_number); | 708 SendDataPacket(packet_number); |
713 | 709 |
714 // The first tail loss probe retransmits 1 packet. | 710 // The first tail loss probe retransmits 1 packet. |
(...skipping 467 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 } | 1178 } |
1183 | 1179 |
1184 TEST_P(QuicSentPacketManagerTest, GetTransmissionTime) { | 1180 TEST_P(QuicSentPacketManagerTest, GetTransmissionTime) { |
1185 EXPECT_EQ(QuicTime::Zero(), manager_.GetRetransmissionTime()); | 1181 EXPECT_EQ(QuicTime::Zero(), manager_.GetRetransmissionTime()); |
1186 } | 1182 } |
1187 | 1183 |
1188 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeCryptoHandshake) { | 1184 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeCryptoHandshake) { |
1189 SendCryptoPacket(1); | 1185 SendCryptoPacket(1); |
1190 | 1186 |
1191 // Check the min. | 1187 // Check the min. |
1192 RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_); | 1188 RttStats* rtt_stats = const_cast<RttStats*>(manager_.GetRttStats()); |
1193 rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli); | 1189 rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli); |
1194 EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), | 1190 EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), |
1195 manager_.GetRetransmissionTime()); | 1191 manager_.GetRetransmissionTime()); |
1196 | 1192 |
1197 // Test with a standard smoothed RTT. | 1193 // Test with a standard smoothed RTT. |
1198 rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli); | 1194 rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli); |
1199 | 1195 |
1200 QuicTime::Delta srtt = | 1196 QuicTime::Delta srtt = |
1201 QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us()); | 1197 QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us()); |
1202 QuicTime expected_time = clock_.Now().Add(srtt.Multiply(1.5)); | 1198 QuicTime expected_time = clock_.Now().Add(srtt.Multiply(1.5)); |
1203 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); | 1199 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); |
1204 | 1200 |
1205 // Retransmit the packet by invoking the retransmission timeout. | 1201 // Retransmit the packet by invoking the retransmission timeout. |
1206 clock_.AdvanceTime(srtt.Multiply(1.5)); | 1202 clock_.AdvanceTime(srtt.Multiply(1.5)); |
1207 manager_.OnRetransmissionTimeout(); | 1203 manager_.OnRetransmissionTimeout(); |
1208 RetransmitNextPacket(2); | 1204 RetransmitNextPacket(2); |
1209 | 1205 |
1210 // The retransmission time should now be twice as far in the future. | 1206 // The retransmission time should now be twice as far in the future. |
1211 expected_time = clock_.Now().Add(srtt.Multiply(2).Multiply(1.5)); | 1207 expected_time = clock_.Now().Add(srtt.Multiply(2).Multiply(1.5)); |
1212 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); | 1208 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); |
1213 } | 1209 } |
1214 | 1210 |
1215 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeTailLossProbe) { | 1211 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeTailLossProbe) { |
1216 QuicSentPacketManagerPeer::SetMaxTailLossProbes(&manager_, 2); | 1212 QuicSentPacketManagerPeer::SetMaxTailLossProbes(&manager_, 2); |
1217 SendDataPacket(1); | 1213 SendDataPacket(1); |
1218 SendDataPacket(2); | 1214 SendDataPacket(2); |
1219 | 1215 |
1220 // Check the min. | 1216 // Check the min. |
1221 RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_); | 1217 RttStats* rtt_stats = const_cast<RttStats*>(manager_.GetRttStats()); |
1222 rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli); | 1218 rtt_stats->set_initial_rtt_us(1 * kNumMicrosPerMilli); |
1223 EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), | 1219 EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), |
1224 manager_.GetRetransmissionTime()); | 1220 manager_.GetRetransmissionTime()); |
1225 | 1221 |
1226 // Test with a standard smoothed RTT. | 1222 // Test with a standard smoothed RTT. |
1227 rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli); | 1223 rtt_stats->set_initial_rtt_us(100 * kNumMicrosPerMilli); |
1228 QuicTime::Delta srtt = | 1224 QuicTime::Delta srtt = |
1229 QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us()); | 1225 QuicTime::Delta::FromMicroseconds(rtt_stats->initial_rtt_us()); |
1230 QuicTime::Delta expected_tlp_delay = srtt.Multiply(2); | 1226 QuicTime::Delta expected_tlp_delay = srtt.Multiply(2); |
1231 QuicTime expected_time = clock_.Now().Add(expected_tlp_delay); | 1227 QuicTime expected_time = clock_.Now().Add(expected_tlp_delay); |
(...skipping 12 matching lines...) Expand all Loading... |
1244 .WillOnce(Return(QuicTime::Delta::Infinite())); | 1240 .WillOnce(Return(QuicTime::Delta::Infinite())); |
1245 EXPECT_EQ(QuicTime::Delta::Infinite(), | 1241 EXPECT_EQ(QuicTime::Delta::Infinite(), |
1246 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); | 1242 manager_.TimeUntilSend(clock_.Now(), HAS_RETRANSMITTABLE_DATA)); |
1247 EXPECT_FALSE(manager_.HasPendingRetransmissions()); | 1243 EXPECT_FALSE(manager_.HasPendingRetransmissions()); |
1248 | 1244 |
1249 expected_time = clock_.Now().Add(expected_tlp_delay); | 1245 expected_time = clock_.Now().Add(expected_tlp_delay); |
1250 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); | 1246 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); |
1251 } | 1247 } |
1252 | 1248 |
1253 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeSpuriousRTO) { | 1249 TEST_P(QuicSentPacketManagerTest, GetTransmissionTimeSpuriousRTO) { |
1254 QuicSentPacketManagerPeer::GetRttStats(&manager_) | 1250 const_cast<RttStats*>(manager_.GetRttStats()) |
1255 ->UpdateRtt(QuicTime::Delta::FromMilliseconds(100), | 1251 ->UpdateRtt(QuicTime::Delta::FromMilliseconds(100), |
1256 QuicTime::Delta::Zero(), QuicTime::Zero()); | 1252 QuicTime::Delta::Zero(), QuicTime::Zero()); |
1257 | |
1258 SendDataPacket(1); | 1253 SendDataPacket(1); |
1259 SendDataPacket(2); | 1254 SendDataPacket(2); |
1260 SendDataPacket(3); | 1255 SendDataPacket(3); |
1261 SendDataPacket(4); | 1256 SendDataPacket(4); |
1262 | 1257 |
1263 QuicTime::Delta expected_rto_delay = QuicTime::Delta::FromMilliseconds(500); | 1258 QuicTime::Delta expected_rto_delay = QuicTime::Delta::FromMilliseconds(500); |
1264 EXPECT_CALL(*send_algorithm_, RetransmissionDelay()) | 1259 EXPECT_CALL(*send_algorithm_, RetransmissionDelay()) |
1265 .WillRepeatedly(Return(expected_rto_delay)); | 1260 .WillRepeatedly(Return(expected_rto_delay)); |
1266 QuicTime expected_time = clock_.Now().Add(expected_rto_delay); | 1261 QuicTime expected_time = clock_.Now().Add(expected_rto_delay); |
1267 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); | 1262 EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); |
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1703 CachedNetworkParameters cached_network_params; | 1698 CachedNetworkParameters cached_network_params; |
1704 cached_network_params.set_min_rtt_ms(kRttMs); | 1699 cached_network_params.set_min_rtt_ms(kRttMs); |
1705 | 1700 |
1706 EXPECT_CALL(*send_algorithm_, ResumeConnectionState(_, false)); | 1701 EXPECT_CALL(*send_algorithm_, ResumeConnectionState(_, false)); |
1707 manager_.ResumeConnectionState(cached_network_params, false); | 1702 manager_.ResumeConnectionState(cached_network_params, false); |
1708 EXPECT_EQ(kRttMs * kNumMicrosPerMilli, | 1703 EXPECT_EQ(kRttMs * kNumMicrosPerMilli, |
1709 static_cast<uint64_t>(manager_.GetRttStats()->initial_rtt_us())); | 1704 static_cast<uint64_t>(manager_.GetRttStats()->initial_rtt_us())); |
1710 } | 1705 } |
1711 | 1706 |
1712 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationUnspecifiedChange) { | 1707 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationUnspecifiedChange) { |
1713 RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_); | 1708 RttStats* rtt_stats = const_cast<RttStats*>(manager_.GetRttStats()); |
1714 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); | 1709 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); |
1715 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); | 1710 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); |
1716 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); | 1711 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); |
1717 | 1712 |
1718 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); | 1713 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); |
1719 EXPECT_EQ(1u, manager_.consecutive_rto_count()); | 1714 EXPECT_EQ(1u, manager_.consecutive_rto_count()); |
1720 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); | 1715 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); |
1721 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); | 1716 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); |
1722 | 1717 |
1723 EXPECT_CALL(*send_algorithm_, OnConnectionMigration()); | 1718 EXPECT_CALL(*send_algorithm_, OnConnectionMigration()); |
1724 manager_.OnConnectionMigration(UNSPECIFIED_CHANGE); | 1719 manager_.OnConnectionMigration(UNSPECIFIED_CHANGE); |
1725 | 1720 |
1726 EXPECT_EQ(default_init_rtt, rtt_stats->initial_rtt_us()); | 1721 EXPECT_EQ(default_init_rtt, rtt_stats->initial_rtt_us()); |
1727 EXPECT_EQ(0u, manager_.consecutive_rto_count()); | 1722 EXPECT_EQ(0u, manager_.consecutive_rto_count()); |
1728 EXPECT_EQ(0u, manager_.consecutive_tlp_count()); | 1723 EXPECT_EQ(0u, manager_.consecutive_tlp_count()); |
1729 } | 1724 } |
1730 | 1725 |
1731 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationIPSubnetChange) { | 1726 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationIPSubnetChange) { |
1732 RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_); | 1727 RttStats* rtt_stats = const_cast<RttStats*>(manager_.GetRttStats()); |
1733 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); | 1728 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); |
1734 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); | 1729 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); |
1735 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); | 1730 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); |
1736 | 1731 |
1737 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); | 1732 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); |
1738 EXPECT_EQ(1u, manager_.consecutive_rto_count()); | 1733 EXPECT_EQ(1u, manager_.consecutive_rto_count()); |
1739 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); | 1734 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); |
1740 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); | 1735 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); |
1741 | 1736 |
1742 manager_.OnConnectionMigration(IPV4_SUBNET_CHANGE); | 1737 manager_.OnConnectionMigration(IPV4_SUBNET_CHANGE); |
1743 | 1738 |
1744 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); | 1739 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); |
1745 EXPECT_EQ(1u, manager_.consecutive_rto_count()); | 1740 EXPECT_EQ(1u, manager_.consecutive_rto_count()); |
1746 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); | 1741 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); |
1747 } | 1742 } |
1748 | 1743 |
1749 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationPortChange) { | 1744 TEST_P(QuicSentPacketManagerTest, ConnectionMigrationPortChange) { |
1750 RttStats* rtt_stats = QuicSentPacketManagerPeer::GetRttStats(&manager_); | 1745 RttStats* rtt_stats = const_cast<RttStats*>(manager_.GetRttStats()); |
1751 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); | 1746 int64_t default_init_rtt = rtt_stats->initial_rtt_us(); |
1752 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); | 1747 rtt_stats->set_initial_rtt_us(default_init_rtt * 2); |
1753 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); | 1748 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); |
1754 | 1749 |
1755 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); | 1750 QuicSentPacketManagerPeer::SetConsecutiveRtoCount(&manager_, 1); |
1756 EXPECT_EQ(1u, manager_.consecutive_rto_count()); | 1751 EXPECT_EQ(1u, manager_.consecutive_rto_count()); |
1757 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); | 1752 QuicSentPacketManagerPeer::SetConsecutiveTlpCount(&manager_, 2); |
1758 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); | 1753 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); |
1759 | 1754 |
1760 manager_.OnConnectionMigration(PORT_CHANGE); | 1755 manager_.OnConnectionMigration(PORT_CHANGE); |
1761 | 1756 |
1762 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); | 1757 EXPECT_EQ(2 * default_init_rtt, rtt_stats->initial_rtt_us()); |
1763 EXPECT_EQ(1u, manager_.consecutive_rto_count()); | 1758 EXPECT_EQ(1u, manager_.consecutive_rto_count()); |
1764 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); | 1759 EXPECT_EQ(2u, manager_.consecutive_tlp_count()); |
1765 } | 1760 } |
1766 | 1761 |
1767 } // namespace | 1762 } // namespace |
1768 } // namespace test | 1763 } // namespace test |
1769 } // namespace net | 1764 } // namespace net |
OLD | NEW |