| Index: net/quic/quic_unacked_packet_map_test.cc
|
| diff --git a/net/quic/quic_unacked_packet_map_test.cc b/net/quic/quic_unacked_packet_map_test.cc
|
| index 4f5d6a501a405e2adb37d6ca7291edbb01a110bd..d31ce4425b0e187dcf65756496b79656f1a1bec7 100644
|
| --- a/net/quic/quic_unacked_packet_map_test.cc
|
| +++ b/net/quic/quic_unacked_packet_map_test.cc
|
| @@ -101,8 +101,9 @@ class QuicUnackedPacketMapTest : public ::testing::Test {
|
|
|
| TEST_F(QuicUnackedPacketMapTest, RttOnly) {
|
| // Acks are only tracked for RTT measurement purposes.
|
| - unacked_packets_.AddPacket(CreateNonRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultAckLength, false);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultAckLength,
|
| + false);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -120,8 +121,9 @@ TEST_F(QuicUnackedPacketMapTest, DiscardOldRttOnly) {
|
| // when more than 200 accumulate.
|
| const size_t kNumUnackedPackets = 200;
|
| for (size_t i = 1; i < 400; ++i) {
|
| - unacked_packets_.AddPacket(CreateNonRetransmittablePacket(i));
|
| - unacked_packets_.SetSent(i, now_, kDefaultAckLength, false);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(i), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultAckLength,
|
| + false);
|
| unacked_packets_.RemoveObsoletePackets();
|
| EXPECT_EQ(min(i, kNumUnackedPackets),
|
| unacked_packets_.GetNumUnackedPacketsDebugOnly());
|
| @@ -130,8 +132,9 @@ TEST_F(QuicUnackedPacketMapTest, DiscardOldRttOnly) {
|
|
|
| TEST_F(QuicUnackedPacketMapTest, RetransmittableInflightAndRtt) {
|
| // Simulate a retransmittable packet being sent and acked.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -157,10 +160,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmittableInflightAndRtt) {
|
| TEST_F(QuicUnackedPacketMapTest, RetransmittedPacket) {
|
| // Simulate a retransmittable packet being sent, retransmitted, and the first
|
| // transmission being acked.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| - unacked_packets_.OnRetransmittedPacket(1, 2, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(2, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(2), 1,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1, 2 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -192,10 +197,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmittedPacket) {
|
|
|
| TEST_F(QuicUnackedPacketMapTest, RetransmitThreeTimes) {
|
| // Simulate a retransmittable packet being sent and retransmitted twice.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(2));
|
| - unacked_packets_.SetSent(2, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(2), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1, 2 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -208,10 +215,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitThreeTimes) {
|
| unacked_packets_.RemoveFromInFlight(2);
|
| unacked_packets_.RemoveRetransmittability(2);
|
| unacked_packets_.RemoveFromInFlight(1);
|
| - unacked_packets_.OnRetransmittedPacket(1, 3, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(3, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(4));
|
| - unacked_packets_.SetSent(4, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(3), 1,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(4), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked2[] = { 1, 3, 4 };
|
| VerifyUnackedPackets(unacked2, arraysize(unacked2));
|
| @@ -224,10 +233,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitThreeTimes) {
|
| unacked_packets_.IncreaseLargestObserved(4);
|
| unacked_packets_.RemoveFromInFlight(4);
|
| unacked_packets_.RemoveRetransmittability(4);
|
| - unacked_packets_.OnRetransmittedPacket(3, 5, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(5, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(6));
|
| - unacked_packets_.SetSent(6, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(5), 3,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(6), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked3[] = { 3, 5, 6 };
|
| VerifyUnackedPackets(unacked3, arraysize(unacked3));
|
| @@ -240,8 +251,9 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitThreeTimes) {
|
| unacked_packets_.IncreaseLargestObserved(6);
|
| unacked_packets_.RemoveFromInFlight(6);
|
| unacked_packets_.RemoveRetransmittability(6);
|
| - unacked_packets_.OnRetransmittedPacket(5, 7, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(7, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(7), 5,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked4[] = { 3, 5, 7 };
|
| VerifyUnackedPackets(unacked4, arraysize(unacked4));
|
| @@ -266,10 +278,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitThreeTimes) {
|
|
|
| TEST_F(QuicUnackedPacketMapTest, RetransmitFourTimes) {
|
| // Simulate a retransmittable packet being sent and retransmitted twice.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(2));
|
| - unacked_packets_.SetSent(2, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(2), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1, 2 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -282,8 +296,9 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitFourTimes) {
|
| unacked_packets_.RemoveFromInFlight(2);
|
| unacked_packets_.RemoveRetransmittability(2);
|
| unacked_packets_.RemoveFromInFlight(1);
|
| - unacked_packets_.OnRetransmittedPacket(1, 3, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(3, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(3), 1,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked2[] = { 1, 3 };
|
| VerifyUnackedPackets(unacked2, arraysize(unacked2));
|
| @@ -293,10 +308,12 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitFourTimes) {
|
| VerifyRetransmittablePackets(retransmittable2, arraysize(retransmittable2));
|
|
|
| // TLP 3 (formerly 1) as 4, and don't remove 1 from unacked.
|
| - unacked_packets_.OnRetransmittedPacket(3, 4, TLP_RETRANSMISSION);
|
| - unacked_packets_.SetSent(4, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(5));
|
| - unacked_packets_.SetSent(5, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(4), 3,
|
| + TLP_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(5), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked3[] = { 1, 3, 4, 5 };
|
| VerifyUnackedPackets(unacked3, arraysize(unacked3));
|
| @@ -311,8 +328,9 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitFourTimes) {
|
| unacked_packets_.RemoveRetransmittability(5);
|
| unacked_packets_.RemoveFromInFlight(3);
|
| unacked_packets_.RemoveFromInFlight(4);
|
| - unacked_packets_.OnRetransmittedPacket(4, 6, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(6, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(6), 4,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked4[] = { 4, 6 };
|
| VerifyUnackedPackets(unacked4, arraysize(unacked4));
|
| @@ -325,11 +343,13 @@ TEST_F(QuicUnackedPacketMapTest, RetransmitFourTimes) {
|
| TEST_F(QuicUnackedPacketMapTest, RestoreInflight) {
|
| // Simulate a retransmittable packet being sent, retransmitted, and the first
|
| // transmission being acked.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| - unacked_packets_.OnRetransmittedPacket(1, 2, RTO_RETRANSMISSION);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| unacked_packets_.RemoveFromInFlight(1);
|
| - unacked_packets_.SetSent(2, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(2), 1,
|
| + RTO_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| QuicPacketSequenceNumber unacked[] = { 1, 2 };
|
| VerifyUnackedPackets(unacked, arraysize(unacked));
|
| @@ -349,12 +369,15 @@ TEST_F(QuicUnackedPacketMapTest, RestoreInflight) {
|
| TEST_F(QuicUnackedPacketMapTest, SendWithGap) {
|
| // Simulate a retransmittable packet being sent, retransmitted, and the first
|
| // transmission being acked.
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(1));
|
| - unacked_packets_.SetSent(1, now_, kDefaultLength, true);
|
| - unacked_packets_.AddPacket(CreateRetransmittablePacket(3));
|
| - unacked_packets_.SetSent(3, now_, kDefaultLength, true);
|
| - unacked_packets_.OnRetransmittedPacket(1, 5, LOSS_RETRANSMISSION);
|
| - unacked_packets_.SetSent(5, now_, kDefaultLength, true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(1), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateRetransmittablePacket(3), 0,
|
| + NOT_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
| + unacked_packets_.AddSentPacket(CreateNonRetransmittablePacket(5), 3,
|
| + LOSS_RETRANSMISSION, now_, kDefaultLength,
|
| + true);
|
|
|
| EXPECT_EQ(1u, unacked_packets_.GetLeastUnacked());
|
| EXPECT_TRUE(unacked_packets_.IsUnacked(1));
|
|
|