diff options
Diffstat (limited to 'net/quic/quic_sent_packet_manager_test.cc')
-rw-r--r-- | net/quic/quic_sent_packet_manager_test.cc | 80 |
1 files changed, 30 insertions, 50 deletions
diff --git a/net/quic/quic_sent_packet_manager_test.cc b/net/quic/quic_sent_packet_manager_test.cc index 61240af..cfd04d2 100644 --- a/net/quic/quic_sent_packet_manager_test.cc +++ b/net/quic/quic_sent_packet_manager_test.cc @@ -35,12 +35,6 @@ class QuicSentPacketManagerTest : public ::testing::TestWithParam<bool> { STLDeleteElements(&packets_); } - virtual void SetUp() { - // Ack handling requests a smoothed rtt for loss detection. - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(1))); - } - void VerifyUnackedPackets(QuicPacketSequenceNumber* packets, size_t num_packets) { if (num_packets == 0) { @@ -77,20 +71,6 @@ class QuicSentPacketManagerTest : public ::testing::TestWithParam<bool> { EXPECT_EQ(num_packets, num_retransmittable); } - void VerifyAckedPackets(QuicPacketSequenceNumber* expected, - size_t num_expected, - const SequenceNumberSet& actual) { - if (num_expected == 0) { - EXPECT_TRUE(actual.empty()); - return; - } - - EXPECT_EQ(num_expected, actual.size()); - for (size_t i = 0; i < num_expected; ++i) { - EXPECT_TRUE(ContainsKey(actual, expected[i])) << expected[i]; - } - } - void RetransmitPacket(QuicPacketSequenceNumber old_sequence_number, QuicPacketSequenceNumber new_sequence_number) { QuicSentPacketManagerPeer::MarkForRetransmission( @@ -226,7 +206,7 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAck) { received_info.missing_packets.insert(1); EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); EXPECT_CALL(*send_algorithm_, OnPacketAcked(2, _)).Times(1); - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); // Packet 1 is unacked, pending, but not retransmittable. QuicPacketSequenceNumber unacked[] = { 1 }; @@ -246,7 +226,7 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAckBeforeSend) { received_info.largest_observed = 1; EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); EXPECT_CALL(*send_algorithm_, OnPacketAcked(1, _)).Times(1); - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); // There should no longer be a pending retransmission. EXPECT_FALSE(manager_.HasPendingRetransmissions()); @@ -479,7 +459,7 @@ TEST_F(QuicSentPacketManagerTest, TruncatedAck) { EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); EXPECT_CALL(*send_algorithm_, OnPacketLost(1, _)); EXPECT_CALL(*send_algorithm_, OnPacketAbandoned(1, _)); - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); // High water mark will be raised. QuicPacketSequenceNumber unacked[] = { 2, 3, 4 }; @@ -506,7 +486,7 @@ TEST_F(QuicSentPacketManagerTest, AckPreviousTransmissionThenTruncatedAck) { received_info.missing_packets.insert(1); EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); EXPECT_CALL(*send_algorithm_, OnPacketAcked(2, _)); - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); EXPECT_TRUE(manager_.IsUnacked(4)); } @@ -522,7 +502,7 @@ TEST_F(QuicSentPacketManagerTest, AckPreviousTransmissionThenTruncatedAck) { EXPECT_CALL(*send_algorithm_, OnPacketAcked(1, _)); EXPECT_CALL(*send_algorithm_, OnPacketLost(3, _)); EXPECT_CALL(*send_algorithm_, OnPacketAbandoned(3, _)); - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); } // High water mark will be raised. @@ -583,7 +563,7 @@ TEST_F(QuicSentPacketManagerTest, GetLeastUnackedPacketAndDiscard) { // Ack 2. ReceivedPacketInfo received_info; received_info.largest_observed = 2; - manager_.OnIncomingAck(received_info, QuicTime::Zero()); + manager_.OnIncomingAck(received_info, clock_.Now()); EXPECT_EQ(3u, manager_.GetLeastUnackedSentPacket()); @@ -707,7 +687,8 @@ TEST_F(QuicSentPacketManagerTest, Rtt) { received_info.delta_time_largest_observed = QuicTime::Delta::FromMilliseconds(5); manager_.OnIncomingAck(received_info, clock_.Now()); - EXPECT_EQ(expected_rtt, QuicSentPacketManagerPeer::rtt(&manager_)); + EXPECT_EQ(expected_rtt, + QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); } TEST_F(QuicSentPacketManagerTest, RttWithInvalidDelta) { @@ -727,7 +708,8 @@ TEST_F(QuicSentPacketManagerTest, RttWithInvalidDelta) { received_info.delta_time_largest_observed = QuicTime::Delta::FromMilliseconds(11); manager_.OnIncomingAck(received_info, clock_.Now()); - EXPECT_EQ(expected_rtt, QuicSentPacketManagerPeer::rtt(&manager_)); + EXPECT_EQ(expected_rtt, + QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); } TEST_F(QuicSentPacketManagerTest, RttWithInfiniteDelta) { @@ -745,7 +727,8 @@ TEST_F(QuicSentPacketManagerTest, RttWithInfiniteDelta) { received_info.largest_observed = sequence_number; received_info.delta_time_largest_observed = QuicTime::Delta::Infinite(); manager_.OnIncomingAck(received_info, clock_.Now()); - EXPECT_EQ(expected_rtt, QuicSentPacketManagerPeer::rtt(&manager_)); + EXPECT_EQ(expected_rtt, + QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); } TEST_F(QuicSentPacketManagerTest, RttZeroDelta) { @@ -763,7 +746,8 @@ TEST_F(QuicSentPacketManagerTest, RttZeroDelta) { received_info.largest_observed = sequence_number; received_info.delta_time_largest_observed = QuicTime::Delta::Zero(); manager_.OnIncomingAck(received_info, clock_.Now()); - EXPECT_EQ(expected_rtt, QuicSentPacketManagerPeer::rtt(&manager_)); + EXPECT_EQ(expected_rtt, + QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt()); } TEST_F(QuicSentPacketManagerTest, TailLossProbeTimeout) { @@ -984,30 +968,27 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeCryptoHandshake) { SendCryptoPacket(1); // Check the min. - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(1))); + QuicSentPacketManagerPeer::GetRttStats(&manager_)->set_initial_rtt_us( + 1 * base::Time::kMicrosecondsPerMillisecond); EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), manager_.GetRetransmissionTime()); // Test with a standard smoothed RTT. - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(100))); + QuicSentPacketManagerPeer::GetRttStats(&manager_)->set_initial_rtt_us( + 100 * base::Time::kMicrosecondsPerMillisecond); QuicTime::Delta srtt = manager_.SmoothedRtt(); - QuicTime expected_time = clock_.Now().Add(QuicTime::Delta::FromMilliseconds( - static_cast<int64>(1.5 * srtt.ToMilliseconds()))); + QuicTime expected_time = clock_.Now().Add(srtt.Multiply(1.5)); EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); // Retransmit the packet by invoking the retransmission timeout. - clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds( - static_cast<int64>(1.5 * srtt.ToMilliseconds()))); + clock_.AdvanceTime(srtt.Multiply(1.5)); EXPECT_CALL(*send_algorithm_, OnPacketAbandoned(_, _)); manager_.OnRetransmissionTimeout(); RetransmitNextPacket(2); // The retransmission time should now be twice as far in the future. - expected_time = clock_.Now().Add(QuicTime::Delta::FromMilliseconds( - static_cast<int64>(2 * 1.5 * srtt.ToMilliseconds()))); + expected_time = clock_.Now().Add(srtt.Multiply(2).Multiply(1.5)); EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); } @@ -1017,17 +998,16 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeTailLossProbe) { SendDataPacket(2); // Check the min. - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(1))); + QuicSentPacketManagerPeer::GetRttStats(&manager_)->set_initial_rtt_us( + 1 * base::Time::kMicrosecondsPerMillisecond); EXPECT_EQ(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)), manager_.GetRetransmissionTime()); // Test with a standard smoothed RTT. - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(100))); + QuicSentPacketManagerPeer::GetRttStats(&manager_)->set_initial_rtt_us( + 100 * base::Time::kMicrosecondsPerMillisecond); QuicTime::Delta srtt = manager_.SmoothedRtt(); - QuicTime::Delta expected_tlp_delay = QuicTime::Delta::FromMilliseconds( - static_cast<int64>(2 * srtt.ToMilliseconds())); + QuicTime::Delta expected_tlp_delay = srtt.Multiply(2); QuicTime expected_time = clock_.Now().Add(expected_tlp_delay); EXPECT_EQ(expected_time, manager_.GetRetransmissionTime()); @@ -1042,8 +1022,8 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeTailLossProbe) { } TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeRTO) { - EXPECT_CALL(*send_algorithm_, SmoothedRtt()) - .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(100))); + QuicSentPacketManagerPeer::GetRttStats(&manager_)->UpdateRtt( + QuicTime::Delta::FromMilliseconds(100), QuicTime::Delta::Zero()); SendDataPacket(1); SendDataPacket(2); @@ -1133,7 +1113,7 @@ TEST_F(QuicSentPacketManagerTest, GetLossDelay) { // set the loss timeout. EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); EXPECT_CALL(*send_algorithm_, OnPacketAcked(2, _)); - EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _, _)) + EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _)) .WillOnce(Return(SequenceNumberSet())); ReceivedPacketInfo received_info; received_info.largest_observed = 2; @@ -1147,7 +1127,7 @@ TEST_F(QuicSentPacketManagerTest, GetLossDelay) { // Fire the retransmission timeout and ensure the loss detection algorithm // is invoked. - EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _, _)) + EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _)) .WillOnce(Return(SequenceNumberSet())); manager_.OnRetransmissionTimeout(); } |