Index: net/quic/quic_connection_test.cc |
diff --git a/net/quic/quic_connection_test.cc b/net/quic/quic_connection_test.cc |
index c8c0d2508c96c666be1b722048ea9165e3b473d9..19edfd0a894145311771e03a136d1b1354c0e868 100644 |
--- a/net/quic/quic_connection_test.cc |
+++ b/net/quic/quic_connection_test.cc |
@@ -568,8 +568,6 @@ class QuicConnectionTest : public ::testing::TestWithParam<QuicVersion> { |
Return(QuicTime::Delta::Zero())); |
EXPECT_CALL(*send_algorithm_, BandwidthEstimate()).WillRepeatedly(Return( |
QuicBandwidth::FromKBitsPerSecond(100))); |
- EXPECT_CALL(*send_algorithm_, SmoothedRtt()).WillRepeatedly(Return( |
- QuicTime::Delta::FromMilliseconds(100))); |
ON_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)) |
.WillByDefault(Return(true)); |
EXPECT_CALL(visitor_, HasPendingWrites()).Times(AnyNumber()); |
@@ -578,7 +576,7 @@ class QuicConnectionTest : public ::testing::TestWithParam<QuicVersion> { |
EXPECT_CALL(*loss_algorithm_, GetLossTimeout()) |
.WillRepeatedly(Return(QuicTime::Zero())); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillRepeatedly(Return(SequenceNumberSet())); |
} |
@@ -1058,7 +1056,7 @@ TEST_P(QuicConnectionTest, TruncatedAck) { |
lost_packets.insert(i * 2); |
} |
} |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(entropy_calculator_, |
EntropyHash(511)).WillOnce(testing::Return(0)); |
@@ -1078,7 +1076,7 @@ TEST_P(QuicConnectionTest, TruncatedAck) { |
// Removing one missing packet allows us to ack 192 and one more range, but |
// 192 has already been declared lost, so it doesn't register as an ack. |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(SequenceNumberSet())); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(_, _)).Times(1); |
@@ -1142,7 +1140,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
// First nack triggers early retransmit. |
SequenceNumberSet lost_packets; |
lost_packets.insert(1); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketLost(1, _)).Times(1); |
@@ -1159,7 +1157,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
NackPacket(original, &frame2); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(_, _)); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(SequenceNumberSet())); |
ProcessAckPacket(&frame2); |
@@ -1175,7 +1173,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) { |
writer_->Reset(); |
// No more packet loss for the rest of the test. |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillRepeatedly(Return(SequenceNumberSet())); |
ProcessAckPacket(&frame2); |
EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, NOT_RETRANSMISSION, |
@@ -1555,7 +1553,7 @@ TEST_P(QuicConnectionTest, AbandonAllFEC) { |
// Lose the first FEC packet and ack the three data packets. |
SequenceNumberSet lost_packets; |
lost_packets.insert(2); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(_, _)).Times(3); |
@@ -1842,7 +1840,7 @@ TEST_P(QuicConnectionTest, RetransmitOnNack) { |
NackPacket(2, &nack_two); |
SequenceNumberSet lost_packets; |
lost_packets.insert(2); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(3, _)); |
@@ -1870,7 +1868,7 @@ TEST_P(QuicConnectionTest, DiscardRetransmit) { |
BlockOnNextWrite(); |
SequenceNumberSet lost_packets; |
lost_packets.insert(2); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(_, _)).Times(2); |
@@ -1880,7 +1878,7 @@ TEST_P(QuicConnectionTest, DiscardRetransmit) { |
EXPECT_EQ(1u, connection_.NumQueuedPackets()); |
// Now, ack the previous transmission. |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(SequenceNumberSet())); |
QuicAckFrame ack_all = InitAckFrame(3, 0); |
ProcessAckPacket(&ack_all); |
@@ -1911,7 +1909,7 @@ TEST_P(QuicConnectionTest, RetransmitNackedLargestObserved) { |
// The first nack should retransmit the largest observed packet. |
SequenceNumberSet lost_packets; |
lost_packets.insert(1); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketLost(1, _)).Times(1); |
@@ -2035,7 +2033,7 @@ TEST_P(QuicConnectionTest, NoLimitPacketsPerNack) { |
// 14 packets have been NACK'd and lost. In TCP cubic, PRR limits |
// the retransmission rate in the case of burst losses. |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(15, _)).Times(1); |
@@ -2399,7 +2397,7 @@ TEST_P(QuicConnectionTest, RetransmissionCountCalculation) { |
// Once by explicit nack. |
SequenceNumberSet lost_packets; |
lost_packets.insert(rto_sequence_number); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)).Times(1); |
EXPECT_CALL(*send_algorithm_, OnPacketLost(rto_sequence_number, _)).Times(1); |
@@ -2447,6 +2445,8 @@ TEST_P(QuicConnectionTest, DelayRTOWithAckReceipt) { |
connection_.SendStreamDataWithString(3, "bar", 0, !kFin, NULL); |
QuicAlarm* retransmission_alarm = connection_.GetRetransmissionAlarm(); |
EXPECT_TRUE(retransmission_alarm->IsSet()); |
+ EXPECT_EQ(clock_.Now().Add(DefaultRetransmissionTime()), |
+ retransmission_alarm->deadline()); |
// Advance the time right before the RTO, then receive an ack for the first |
// packet to delay the RTO. |
@@ -2456,9 +2456,10 @@ TEST_P(QuicConnectionTest, DelayRTOWithAckReceipt) { |
QuicAckFrame ack = InitAckFrame(1, 0); |
ProcessAckPacket(&ack); |
EXPECT_TRUE(retransmission_alarm->IsSet()); |
+ EXPECT_GT(retransmission_alarm->deadline(), clock_.Now()); |
// Move forward past the original RTO and ensure the RTO is still pending. |
- clock_.AdvanceTime(DefaultRetransmissionTime()); |
+ clock_.AdvanceTime(DefaultRetransmissionTime().Multiply(2)); |
// Ensure the second packet gets retransmitted when it finally fires. |
EXPECT_TRUE(retransmission_alarm->IsSet()); |
@@ -2916,7 +2917,7 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) { |
NackPacket(1, &ack); |
SequenceNumberSet lost_packets; |
lost_packets.insert(1); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(2, _)).Times(1); |
@@ -2931,7 +2932,7 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) { |
// and see if there is more data to send. |
ack = InitAckFrame(3, 0); |
NackPacket(1, &ack); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(SequenceNumberSet())); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(3, _)).Times(1); |
@@ -2945,7 +2946,7 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) { |
// Send the same ack, but send both data and an ack together. |
ack = InitAckFrame(3, 0); |
NackPacket(1, &ack); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(SequenceNumberSet())); |
EXPECT_CALL(visitor_, OnCanWrite()).WillOnce( |
IgnoreResult(InvokeWithoutArgs( |
@@ -3404,7 +3405,7 @@ TEST_P(QuicConnectionTest, CheckSendStats) { |
SequenceNumberSet lost_packets; |
lost_packets.insert(1); |
lost_packets.insert(3); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(4, _)).Times(1); |
@@ -3413,8 +3414,6 @@ TEST_P(QuicConnectionTest, CheckSendStats) { |
EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_)); |
ProcessAckPacket(&nack_three); |
- EXPECT_CALL(*send_algorithm_, SmoothedRtt()).WillOnce( |
- Return(QuicTime::Delta::Zero())); |
EXPECT_CALL(*send_algorithm_, BandwidthEstimate()).WillOnce( |
Return(QuicBandwidth::Zero())); |
@@ -3441,8 +3440,6 @@ TEST_P(QuicConnectionTest, CheckReceiveStats) { |
received_bytes += ProcessDataPacket(3, 1, !kEntropyFlag); |
received_bytes += ProcessFecPacket(4, 1, true, !kEntropyFlag, NULL); |
- EXPECT_CALL(*send_algorithm_, SmoothedRtt()).WillOnce( |
- Return(QuicTime::Delta::Zero())); |
EXPECT_CALL(*send_algorithm_, BandwidthEstimate()).WillOnce( |
Return(QuicBandwidth::Zero())); |
@@ -3638,7 +3635,7 @@ TEST_P(QuicConnectionTest, AckNotifierFailToTriggerCallback) { |
NackPacket(1, &frame); |
SequenceNumberSet lost_packets; |
lost_packets.insert(1); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, OnPacketLost(1, _)); |
EXPECT_CALL(*send_algorithm_, OnPacketAbandoned(1, _)); |
@@ -3663,7 +3660,7 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackAfterRetransmission) { |
NackPacket(2, &frame); |
SequenceNumberSet lost_packets; |
lost_packets.insert(2); |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillOnce(Return(lost_packets)); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(_, _)).Times(3); |
@@ -3674,7 +3671,7 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackAfterRetransmission) { |
// Now we get an ACK for packet 5 (retransmitted packet 2), which should |
// trigger the callback. |
- EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _, _)) |
+ EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _)) |
.WillRepeatedly(Return(SequenceNumberSet())); |
EXPECT_CALL(*send_algorithm_, UpdateRtt(_)); |
EXPECT_CALL(*send_algorithm_, OnPacketAcked(5, _)); |