| Index: net/quic/quic_sent_packet_manager_test.cc
|
| diff --git a/net/quic/quic_sent_packet_manager_test.cc b/net/quic/quic_sent_packet_manager_test.cc
|
| index dd884eb56461b14d2f4123b7c804b1f4c1d3768b..cfd04d2746a3a27cbc468fe34dfa35ea687ee1dc 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) {
|
| @@ -212,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 };
|
| @@ -232,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());
|
| @@ -465,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 };
|
| @@ -492,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));
|
| }
|
|
|
| @@ -508,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.
|
| @@ -569,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());
|
|
|
| @@ -693,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) {
|
| @@ -713,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) {
|
| @@ -731,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) {
|
| @@ -749,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) {
|
| @@ -970,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());
|
| }
|
|
|
| @@ -1003,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());
|
|
|
| @@ -1028,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);
|
| @@ -1119,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;
|
| @@ -1133,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();
|
| }
|
|
|