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

Unified Diff: net/quic/quic_connection_test.cc

Issue 185053006: Refactor of QUIC's rtt storage and calculation to have a single RttStats (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/quic/congestion_control/time_loss_algorithm_test.cc ('k') | net/quic/quic_http_stream_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, _));
« no previous file with comments | « net/quic/congestion_control/time_loss_algorithm_test.cc ('k') | net/quic/quic_http_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698