| 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 dbb7d41b7107fd77b95dad0f6d0101296efab9bf..275b2106b2f8a33f5dd83be669bb350ab084c136 100644
|
| --- a/net/quic/quic_sent_packet_manager_test.cc
|
| +++ b/net/quic/quic_sent_packet_manager_test.cc
|
| @@ -301,11 +301,11 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAck) {
|
| RetransmitAndSendPacket(1, 2);
|
|
|
| // Ack 2 but not 1.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.missing_packets.insert(1);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.missing_packets.insert(1);
|
| ExpectAck(2);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| // Packet 1 is unacked, pending, but not retransmittable.
|
| QuicPacketSequenceNumber unacked[] = { 1 };
|
| @@ -321,10 +321,10 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAckBeforeSend) {
|
| EXPECT_TRUE(manager_.HasPendingRetransmissions());
|
|
|
| // Ack 1.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| ExpectAck(1);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| // There should no longer be a pending retransmission.
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| @@ -343,9 +343,9 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAckPrevious) {
|
|
|
| // Ack 1 but not 2.
|
| ExpectAck(1);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| // 2 should be unacked, since it may provide an RTT measurement.
|
| QuicPacketSequenceNumber unacked[] = { 2 };
|
| @@ -367,9 +367,9 @@ TEST_F(QuicSentPacketManagerTest, RetransmitAndSendThenAckPrevious) {
|
|
|
| // Ack 1 but not 2.
|
| ExpectAck(1);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| // 2 remains unacked, but no packets have retransmittable data.
|
| QuicPacketSequenceNumber unacked[] = { 2 };
|
| @@ -392,9 +392,9 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAckPreviousThenNackRetransmit) {
|
|
|
| // First, ACK packet 1 which makes packet 2 non-retransmittable.
|
| ExpectAck(1);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| SendDataPacket(3);
|
| SendDataPacket(4);
|
| @@ -402,18 +402,18 @@ TEST_F(QuicSentPacketManagerTest, RetransmitThenAckPreviousThenNackRetransmit) {
|
| clock_.AdvanceTime(rtt);
|
|
|
| // Next, NACK packet 2 three times.
|
| - received_info.largest_observed = 3;
|
| - received_info.missing_packets.insert(2);
|
| + ack_frame.largest_observed = 3;
|
| + ack_frame.missing_packets.insert(2);
|
| ExpectAck(3);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| - received_info.largest_observed = 4;
|
| + ack_frame.largest_observed = 4;
|
| ExpectAck(4);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| - received_info.largest_observed = 5;
|
| + ack_frame.largest_observed = 5;
|
| ExpectAckAndLoss(true, 5, 2);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| // No packets remain unacked.
|
| VerifyUnackedPackets(NULL, 0);
|
| @@ -440,11 +440,11 @@ TEST_F(QuicSentPacketManagerTest, RetransmitTwiceThenAckPreviousBeforeSend) {
|
| // Ack 1 but not 2, before 2 is able to be sent.
|
| // Since 1 has been retransmitted, it has already been lost, and so the
|
| // send algorithm is not informed that it has been ACK'd.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| ExpectUpdatedRtt(1);
|
| EXPECT_CALL(*send_algorithm_, RevertRetransmissionTimeout());
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| // Since 2 was marked for retransmit, when 1 is acked, 2 is kept for RTT.
|
| QuicPacketSequenceNumber unacked[] = { 2 };
|
| @@ -471,9 +471,9 @@ TEST_F(QuicSentPacketManagerTest, RetransmitTwiceThenAckFirst) {
|
|
|
| // Ack 1 but not 2 or 3.
|
| ExpectAck(1);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 1;
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 1;
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| // 2 and 3 remain unacked, but no packets have retransmittable data.
|
| QuicPacketSequenceNumber unacked[] = { 2, 3 };
|
| @@ -483,20 +483,20 @@ TEST_F(QuicSentPacketManagerTest, RetransmitTwiceThenAckFirst) {
|
|
|
| // Ensure packet 2 is lost when 4 is sent and 3 and 4 are acked.
|
| SendDataPacket(4);
|
| - received_info.largest_observed = 4;
|
| - received_info.missing_packets.insert(2);
|
| + ack_frame.largest_observed = 4;
|
| + ack_frame.missing_packets.insert(2);
|
| QuicPacketSequenceNumber acked[] = { 3, 4 };
|
| ExpectAcksAndLosses(true, acked, arraysize(acked), NULL, 0);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| QuicPacketSequenceNumber unacked2[] = { 2 };
|
| VerifyUnackedPackets(unacked2, arraysize(unacked2));
|
| EXPECT_TRUE(QuicSentPacketManagerPeer::HasPendingPackets(&manager_));
|
|
|
| SendDataPacket(5);
|
| - received_info.largest_observed = 5;
|
| + ack_frame.largest_observed = 5;
|
| ExpectAckAndLoss(true, 5, 2);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| VerifyUnackedPackets(NULL, 0);
|
| EXPECT_FALSE(QuicSentPacketManagerPeer::HasPendingPackets(&manager_));
|
| @@ -510,13 +510,13 @@ TEST_F(QuicSentPacketManagerTest, LoseButDontRetransmitRevivedPacket) {
|
| SendDataPacket(4);
|
|
|
| // Ack 2 and 3, and mark 1 as revived.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 3;
|
| - received_info.missing_packets.insert(1);
|
| - received_info.revived_packets.insert(1);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 3;
|
| + ack_frame.missing_packets.insert(1);
|
| + ack_frame.revived_packets.insert(1);
|
| QuicPacketSequenceNumber acked[] = { 2, 3 };
|
| ExpectAcksAndLosses(true, acked, arraysize(acked), NULL, 0);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| QuicPacketSequenceNumber unacked[] = { 1, 4 };
|
| @@ -526,9 +526,9 @@ TEST_F(QuicSentPacketManagerTest, LoseButDontRetransmitRevivedPacket) {
|
| VerifyRetransmittablePackets(retransmittable, arraysize(retransmittable));
|
|
|
| // Ack the 4th packet and expect the 1st to be considered lost.
|
| - received_info.largest_observed = 4;
|
| + ack_frame.largest_observed = 4;
|
| ExpectAckAndLoss(true, 4, 1);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| VerifyRetransmittablePackets(NULL, 0);
|
| @@ -542,13 +542,13 @@ TEST_F(QuicSentPacketManagerTest, MarkLostThenReviveAndDontRetransmitPacket) {
|
| SendFecPacket(5);
|
|
|
| // Ack 2, 3, and 4, and expect the 1st to be considered lost.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 4;
|
| - received_info.missing_packets.insert(1);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 4;
|
| + ack_frame.missing_packets.insert(1);
|
| QuicPacketSequenceNumber acked[] = { 2, 3, 4 };
|
| QuicPacketSequenceNumber lost[] = { 1 };
|
| ExpectAcksAndLosses(true, acked, arraysize(acked), lost, arraysize(lost));
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_TRUE(manager_.HasPendingRetransmissions());
|
| QuicPacketSequenceNumber unacked[] = { 1, 5 };
|
| @@ -558,10 +558,10 @@ TEST_F(QuicSentPacketManagerTest, MarkLostThenReviveAndDontRetransmitPacket) {
|
|
|
| // Ack 5th packet (FEC) and revive 1st packet. 1st packet should now be
|
| // removed from pending retransmissions map.
|
| - received_info.largest_observed = 5;
|
| - received_info.revived_packets.insert(1);
|
| + ack_frame.largest_observed = 5;
|
| + ack_frame.revived_packets.insert(1);
|
| ExpectAck(5);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| VerifyRetransmittablePackets(NULL, 0);
|
| @@ -575,17 +575,17 @@ TEST_F(QuicSentPacketManagerTest, TruncatedAck) {
|
| RetransmitAndSendPacket(4, 5);
|
|
|
| // Truncated ack with 4 NACKs, so the first packet is lost.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 4;
|
| - received_info.missing_packets.insert(1);
|
| - received_info.missing_packets.insert(2);
|
| - received_info.missing_packets.insert(3);
|
| - received_info.missing_packets.insert(4);
|
| - received_info.is_truncated = true;
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 4;
|
| + ack_frame.missing_packets.insert(1);
|
| + ack_frame.missing_packets.insert(2);
|
| + ack_frame.missing_packets.insert(3);
|
| + ack_frame.missing_packets.insert(4);
|
| + ack_frame.is_truncated = true;
|
|
|
| QuicPacketSequenceNumber lost[] = { 1 };
|
| ExpectAcksAndLosses(true, NULL, 0, lost, arraysize(lost));
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| // High water mark will be raised.
|
| QuicPacketSequenceNumber unacked[] = { 2, 3, 4, 5 };
|
| @@ -607,25 +607,25 @@ TEST_F(QuicSentPacketManagerTest, AckPreviousTransmissionThenTruncatedAck) {
|
|
|
| // Ack previous transmission
|
| {
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.missing_packets.insert(1);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.missing_packets.insert(1);
|
| ExpectAck(2);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| EXPECT_TRUE(manager_.IsUnacked(4));
|
| }
|
|
|
| // Truncated ack with 4 NACKs
|
| {
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 6;
|
| - received_info.missing_packets.insert(3);
|
| - received_info.missing_packets.insert(4);
|
| - received_info.missing_packets.insert(5);
|
| - received_info.missing_packets.insert(6);
|
| - received_info.is_truncated = true;
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 6;
|
| + ack_frame.missing_packets.insert(3);
|
| + ack_frame.missing_packets.insert(4);
|
| + ack_frame.missing_packets.insert(5);
|
| + ack_frame.missing_packets.insert(6);
|
| + ack_frame.is_truncated = true;
|
| ExpectAckAndLoss(false, 1, 3);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| }
|
|
|
| // High water mark will be raised.
|
| @@ -673,9 +673,9 @@ TEST_F(QuicSentPacketManagerTest, GetLeastUnackedPacketAndDiscard) {
|
| VerifyRetransmittablePackets(NULL, 0);
|
|
|
| // Ack 2, which has never been sent, so there's no rtt update.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| EXPECT_EQ(3u, manager_.GetLeastUnackedSentPacket());
|
| }
|
| @@ -713,20 +713,20 @@ TEST_F(QuicSentPacketManagerTest, AckAckAndUpdateRtt) {
|
| SendAckPacket(2);
|
|
|
| // Now ack the ack and expect an RTT update.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.delta_time_largest_observed =
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.delta_time_largest_observed =
|
| QuicTime::Delta::FromMilliseconds(5);
|
|
|
| ExpectAck(1);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| SendAckPacket(3);
|
|
|
| // Now ack the ack and expect only an RTT update.
|
| - received_info.largest_observed = 3;
|
| + ack_frame.largest_observed = 3;
|
| ExpectUpdatedRtt(3);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| }
|
|
|
| TEST_F(QuicSentPacketManagerTest, Rtt) {
|
| @@ -736,11 +736,11 @@ TEST_F(QuicSentPacketManagerTest, Rtt) {
|
| clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(20));
|
|
|
| ExpectAck(sequence_number);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = sequence_number;
|
| - received_info.delta_time_largest_observed =
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = sequence_number;
|
| + ack_frame.delta_time_largest_observed =
|
| QuicTime::Delta::FromMilliseconds(5);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| EXPECT_EQ(expected_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt());
|
| }
|
| @@ -755,11 +755,11 @@ TEST_F(QuicSentPacketManagerTest, RttWithInvalidDelta) {
|
| clock_.AdvanceTime(expected_rtt);
|
|
|
| ExpectAck(sequence_number);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = sequence_number;
|
| - received_info.delta_time_largest_observed =
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = sequence_number;
|
| + ack_frame.delta_time_largest_observed =
|
| QuicTime::Delta::FromMilliseconds(11);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| EXPECT_EQ(expected_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt());
|
| }
|
| @@ -773,10 +773,10 @@ TEST_F(QuicSentPacketManagerTest, RttWithInfiniteDelta) {
|
| clock_.AdvanceTime(expected_rtt);
|
|
|
| ExpectAck(sequence_number);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = sequence_number;
|
| - received_info.delta_time_largest_observed = QuicTime::Delta::Infinite();
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = sequence_number;
|
| + ack_frame.delta_time_largest_observed = QuicTime::Delta::Infinite();
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| EXPECT_EQ(expected_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt());
|
| }
|
| @@ -790,10 +790,10 @@ TEST_F(QuicSentPacketManagerTest, RttZeroDelta) {
|
| clock_.AdvanceTime(expected_rtt);
|
|
|
| ExpectAck(sequence_number);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = sequence_number;
|
| - received_info.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = sequence_number;
|
| + ack_frame.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
| EXPECT_EQ(expected_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(&manager_)->latest_rtt());
|
| }
|
| @@ -831,19 +831,19 @@ TEST_F(QuicSentPacketManagerTest, TailLossProbeTimeout) {
|
|
|
| // Ack the third and ensure the first two are still pending.
|
| ExpectAck(3);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 3;
|
| - received_info.missing_packets.insert(1);
|
| - received_info.missing_packets.insert(2);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 3;
|
| + ack_frame.missing_packets.insert(1);
|
| + ack_frame.missing_packets.insert(2);
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_TRUE(QuicSentPacketManagerPeer::HasPendingPackets(&manager_));
|
|
|
| // Acking two more packets will lose both of them due to nacks.
|
| - received_info.largest_observed = 5;
|
| + ack_frame.largest_observed = 5;
|
| QuicPacketSequenceNumber lost[] = { 1, 2 };
|
| ExpectAcksAndLosses(false, NULL, 0, lost, arraysize(lost));
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| EXPECT_FALSE(QuicSentPacketManagerPeer::HasPendingPackets(&manager_));
|
| @@ -931,13 +931,13 @@ TEST_F(QuicSentPacketManagerTest, CryptoHandshakeTimeout) {
|
| // and ensure the first four crypto packets get abandoned, but not lost.
|
| QuicPacketSequenceNumber acked[] = { 3, 4, 5, 8, 9 };
|
| ExpectAcksAndLosses(true, acked, arraysize(acked), NULL, 0);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 9;
|
| - received_info.missing_packets.insert(1);
|
| - received_info.missing_packets.insert(2);
|
| - received_info.missing_packets.insert(6);
|
| - received_info.missing_packets.insert(7);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 9;
|
| + ack_frame.missing_packets.insert(1);
|
| + ack_frame.missing_packets.insert(2);
|
| + ack_frame.missing_packets.insert(6);
|
| + ack_frame.missing_packets.insert(7);
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(QuicSentPacketManagerPeer::HasUnackedCryptoPackets(&manager_));
|
| }
|
| @@ -991,10 +991,10 @@ TEST_F(QuicSentPacketManagerTest, CryptoHandshakeSpuriousRetransmission) {
|
| // Now ack the second crypto packet, and ensure the first gets removed, but
|
| // the third does not.
|
| ExpectUpdatedRtt(2);
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.missing_packets.insert(1);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.missing_packets.insert(1);
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
|
|
| EXPECT_FALSE(QuicSentPacketManagerPeer::HasUnackedCryptoPackets(&manager_));
|
| QuicPacketSequenceNumber unacked[] = { 3 };
|
| @@ -1064,12 +1064,12 @@ TEST_F(QuicSentPacketManagerTest,
|
| EXPECT_FALSE(QuicSentPacketManagerPeer::HasPendingPackets(&manager_));
|
|
|
| // Ensure both packets get discarded when packet 2 is acked.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 3;
|
| - received_info.missing_packets.insert(1);
|
| - received_info.missing_packets.insert(2);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 3;
|
| + ack_frame.missing_packets.insert(1);
|
| + ack_frame.missing_packets.insert(2);
|
| ExpectUpdatedRtt(3);
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
| VerifyUnackedPackets(NULL, 0);
|
| VerifyRetransmittablePackets(NULL, 0);
|
| }
|
| @@ -1116,20 +1116,20 @@ TEST_F(QuicSentPacketManagerTest, ResetRecentMinRTTWithEmptyWindow) {
|
|
|
| clock_.AdvanceTime(QuicTime::Delta::FromMilliseconds(100));
|
| // Ack two packets with 100ms RTT observations.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| - received_info.largest_observed = 1;
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.delta_time_largest_observed = QuicTime::Delta::Zero();
|
| + ack_frame.largest_observed = 1;
|
| ExpectAck(1);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| // First ack does not change recent min rtt.
|
| EXPECT_EQ(min_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(
|
| &manager_)->recent_min_rtt());
|
|
|
| - received_info.largest_observed = 2;
|
| + ack_frame.largest_observed = 2;
|
| ExpectAck(2);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| EXPECT_EQ(min_rtt,
|
| QuicSentPacketManagerPeer::GetRttStats(&manager_)->min_rtt());
|
| @@ -1258,12 +1258,12 @@ TEST_F(QuicSentPacketManagerTest, GetTransmissionTimeRTO) {
|
| EXPECT_EQ(expected_time, manager_.GetRetransmissionTime());
|
|
|
| // Ack a packet and ensure the RTO goes back to the original value.
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.missing_packets.insert(1);
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.missing_packets.insert(1);
|
| ExpectUpdatedRtt(2);
|
| EXPECT_CALL(*send_algorithm_, RevertRetransmissionTimeout());
|
| - manager_.OnIncomingAck(received_info, clock_.ApproximateNow());
|
| + manager_.OnIncomingAck(ack_frame, clock_.ApproximateNow());
|
| EXPECT_FALSE(manager_.HasPendingRetransmissions());
|
| EXPECT_EQ(4 * kDefaultLength,
|
| QuicSentPacketManagerPeer::GetBytesInFlight(&manager_));
|
| @@ -1337,10 +1337,10 @@ TEST_F(QuicSentPacketManagerTest, GetLossDelay) {
|
| ExpectAck(2);
|
| EXPECT_CALL(*loss_algorithm, DetectLostPackets(_, _, _, _))
|
| .WillOnce(Return(SequenceNumberSet()));
|
| - ReceivedPacketInfo received_info;
|
| - received_info.largest_observed = 2;
|
| - received_info.missing_packets.insert(1);
|
| - manager_.OnIncomingAck(received_info, clock_.Now());
|
| + QuicAckFrame ack_frame;
|
| + ack_frame.largest_observed = 2;
|
| + ack_frame.missing_packets.insert(1);
|
| + manager_.OnIncomingAck(ack_frame, clock_.Now());
|
|
|
| QuicTime timeout(clock_.Now().Add(QuicTime::Delta::FromMilliseconds(10)));
|
| EXPECT_CALL(*loss_algorithm, GetLossTimeout())
|
|
|