| Index: net/quic/quic_connection_test.cc
|
| diff --git a/net/quic/quic_connection_test.cc b/net/quic/quic_connection_test.cc
|
| index 22676aebf7c1f0671e6e70707ae0dfbc6dc0831d..f06b103d1395f2043bd806199d3fd3f868db1b4d 100644
|
| --- a/net/quic/quic_connection_test.cc
|
| +++ b/net/quic/quic_connection_test.cc
|
| @@ -458,9 +458,6 @@ class TestConnection : public QuicConnection {
|
| HasRetransmittableData retransmittable,
|
| bool has_ack,
|
| bool has_pending_frames) {
|
| - QuicFrames* retransmittable_frames =
|
| - retransmittable == HAS_RETRANSMITTABLE_DATA ? new QuicFrames()
|
| - : nullptr;
|
| char buffer[kMaxPacketSize];
|
| size_t encrypted_length =
|
| QuicConnectionPeer::GetFramer(this)->EncryptPayload(
|
| @@ -468,9 +465,13 @@ class TestConnection : public QuicConnection {
|
| kMaxPacketSize);
|
| delete packet;
|
| SerializedPacket serialized_packet(
|
| - kDefaultPathId, packet_number, PACKET_6BYTE_PACKET_NUMBER, buffer,
|
| - encrypted_length, false, entropy_hash, retransmittable_frames, false,
|
| - NOT_HANDSHAKE, has_ack, has_pending_frames, ENCRYPTION_NONE);
|
| + kDefaultPathId, packet_number, PACKET_6BYTE_PACKET_NUMBER,
|
| + new QuicEncryptedPacket(buffer, encrypted_length, false), entropy_hash,
|
| + has_ack, has_pending_frames);
|
| + if (retransmittable == HAS_RETRANSMITTABLE_DATA) {
|
| + serialized_packet.retransmittable_frames.push_back(
|
| + QuicFrame(new QuicStreamFrame()));
|
| + }
|
| OnSerializedPacket(&serialized_packet);
|
| }
|
|
|
| @@ -729,13 +730,7 @@ class QuicConnectionTest : public ::testing::TestWithParam<TestParams> {
|
|
|
| EXPECT_CALL(*loss_algorithm_, GetLossTimeout())
|
| .WillRepeatedly(Return(QuicTime::Zero()));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .Times(AnyNumber());
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillRepeatedly(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _)).Times(AnyNumber());
|
| // TODO(ianswett): Fix QuicConnectionTests so they don't attempt to write
|
| // non-crypto stream data at ENCRYPTION_NONE.
|
| FLAGS_quic_never_write_unencrypted_data = false;
|
| @@ -776,7 +771,8 @@ class QuicConnectionTest : public ::testing::TestWithParam<TestParams> {
|
|
|
| char buffer[kMaxPacketSize];
|
| SerializedPacket serialized_packet =
|
| - peer_creator_.SerializeAllFrames(frames, buffer, kMaxPacketSize);
|
| + QuicPacketCreatorPeer::SerializeAllFrames(&peer_creator_, frames,
|
| + buffer, kMaxPacketSize);
|
| scoped_ptr<QuicEncryptedPacket> encrypted(serialized_packet.packet);
|
| connection_.ProcessUdpPacket(kSelfAddress, kPeerAddress, *encrypted);
|
| return serialized_packet.entropy_hash;
|
| @@ -1374,12 +1370,7 @@ TEST_P(QuicConnectionTest, TruncatedAck) {
|
| lost_packets.insert(i * 2);
|
| }
|
| }
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(entropy_calculator_, EntropyHash(511))
|
| .WillOnce(Return(static_cast<QuicPacketEntropyHash>(0)));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| @@ -1392,12 +1383,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.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&frame);
|
| EXPECT_EQ(num_packets, manager_->largest_observed());
|
| @@ -1474,17 +1460,10 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) {
|
| QuicAckFrame frame = InitAckFrame(original);
|
| NackPacket(original, &frame);
|
| // First nack triggers early retransmit.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| QuicPacketNumber retransmission;
|
| EXPECT_CALL(*send_algorithm_,
|
| @@ -1496,12 +1475,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) {
|
| QuicAckFrame frame2 = InitAckFrame(retransmission);
|
| NackPacket(original, &frame2);
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| ProcessAckPacket(&frame2);
|
|
|
| // Now if the peer sends an ack which still reports the retransmitted packet
|
| @@ -1515,12 +1489,7 @@ TEST_P(QuicConnectionTest, AckReceiptCausesAckSend) {
|
| EXPECT_EQ(1u, writer_->stream_frames().size());
|
|
|
| // No more packet loss for the rest of the test.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _)).Times(AnyNumber());
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillRepeatedly(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _)).Times(AnyNumber());
|
| ProcessAckPacket(&frame2);
|
| EXPECT_CALL(*send_algorithm_,
|
| OnPacketSent(_, _, _, _, HAS_RETRANSMITTABLE_DATA));
|
| @@ -1997,17 +1966,10 @@ TEST_P(QuicConnectionTest, RemoveFECFromInflightOnRetransmissionTimeout) {
|
| QuicAckFrame ack = InitAckFrame(3);
|
| NackPacket(1, &ack);
|
| NackPacket(2, &ack);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&ack);
|
|
|
| @@ -2063,19 +2025,11 @@ TEST_P(QuicConnectionTest, RemoveFECFromInflightOnLossRetransmission) {
|
| QuicAckFrame ack = InitAckFrame(6);
|
| NackPacket(2, &ack);
|
| NackPacket(3, &ack);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| - lost_packets.push_back(std::make_pair(3, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(2);
|
| - lost_packets.insert(3);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| + lost_packets.push_back(std::make_pair(3, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_,
|
| OnPacketSent(_, _, _, _, HAS_RETRANSMITTABLE_DATA))
|
| @@ -2092,12 +2046,7 @@ TEST_P(QuicConnectionTest, RemoveFECFromInflightOnLossRetransmission) {
|
| QuicAckFrame ack2 = InitAckFrame(7);
|
| NackPacket(2, &ack2);
|
| NackPacket(3, &ack2);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&ack2);
|
| EXPECT_EQ(0u, QuicSentPacketManagerPeer::GetBytesInFlight(manager_));
|
| @@ -2488,17 +2437,10 @@ TEST_P(QuicConnectionTest, RetransmitOnNack) {
|
| // Lose a packet and ensure it triggers retransmission.
|
| QuicAckFrame nack_two = InitAckFrame(3);
|
| NackPacket(2, &nack_two);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(2);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_,
|
| OnPacketSent(_, _, _, second_packet_size - kQuicVersionSize, _))
|
| @@ -2562,14 +2504,7 @@ TEST_P(QuicConnectionTest, DoNotRetransmitForResetStreamOnNack) {
|
| QuicAckFrame nack_two = InitAckFrame(last_packet);
|
| NackPacket(last_packet - 1, &nack_two);
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(last_packet - 1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(0);
|
| ProcessAckPacket(&nack_two);
|
| @@ -2590,17 +2525,10 @@ TEST_P(QuicConnectionTest, RetransmitForQuicRstStreamNoErrorOnNack) {
|
| QuicAckFrame nack_two = InitAckFrame(last_packet);
|
| NackPacket(last_packet - 1, &nack_two);
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(last_packet - 1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(last_packet - 1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(last_packet - 1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| if (version() > QUIC_VERSION_28) {
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _))
|
| @@ -2665,12 +2593,7 @@ TEST_P(QuicConnectionTest, DoNotSendPendingRetransmissionForResetStream) {
|
| PacketNumberSet lost_packets;
|
| lost_packets.insert(last_packet - 1);
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(0);
|
| ProcessAckPacket(&ack);
|
| @@ -2699,17 +2622,10 @@ TEST_P(QuicConnectionTest, SendPendingRetransmissionForQuicRstStreamNoError) {
|
| QuicAckFrame ack = InitAckFrame(last_packet);
|
| NackPacket(last_packet - 1, &ack);
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(last_packet - 1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(last_packet - 1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(last_packet - 1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(0);
|
| ProcessAckPacket(&ack);
|
| @@ -2751,28 +2667,16 @@ TEST_P(QuicConnectionTest, DiscardRetransmit) {
|
| // write blocked, so the packet will be queued.
|
| BlockOnNextWrite();
|
|
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(2);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&nack_two);
|
| EXPECT_EQ(1u, connection_.NumQueuedPackets());
|
|
|
| // Now, ack the previous transmission.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| QuicAckFrame ack_all = InitAckFrame(3);
|
| ProcessAckPacket(&ack_all);
|
|
|
| @@ -2799,17 +2703,10 @@ TEST_P(QuicConnectionTest, RetransmitNackedLargestObserved) {
|
| QuicAckFrame frame = InitAckFrame(1);
|
| NackPacket(largest_observed, &frame);
|
| // The first nack should retransmit the largest observed packet.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_,
|
| OnPacketSent(_, _, _, packet_size - kQuicVersionSize, _));
|
| @@ -2929,21 +2826,12 @@ TEST_P(QuicConnectionTest, NoLimitPacketsPerNack) {
|
| }
|
|
|
| // 14 packets have been NACK'd and lost.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - for (int i = 1; i < 15; ++i) {
|
| - lost_packets.push_back(std::make_pair(i, kMaxPacketSize));
|
| - }
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - for (int i = 1; i < 15; ++i) {
|
| - lost_packets.insert(i);
|
| - }
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + for (int i = 1; i < 15; ++i) {
|
| + lost_packets.push_back(std::make_pair(i, kMaxPacketSize));
|
| }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _)).Times(14);
|
| ProcessAckPacket(&nack);
|
| @@ -4607,17 +4495,10 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) {
|
| // Ack the second packet, which will retransmit the first packet.
|
| QuicAckFrame ack = InitAckFrame(2);
|
| NackPacket(1, &ack);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&ack);
|
| EXPECT_EQ(1u, writer_->frame_count());
|
| @@ -4628,12 +4509,7 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) {
|
| // and see if there is more data to send.
|
| ack = InitAckFrame(3);
|
| NackPacket(1, &ack);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&ack);
|
|
|
| @@ -4645,12 +4521,7 @@ TEST_P(QuicConnectionTest, BundleAckWithDataOnIncomingAck) {
|
| // Send the same ack, but send both data and an ack together.
|
| ack = InitAckFrame(3);
|
| NackPacket(1, &ack);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(visitor_, OnCanWrite())
|
| .WillOnce(IgnoreResult(InvokeWithoutArgs(
|
| &connection_, &TestConnection::EnsureWritableAndSendStreamData5)));
|
| @@ -5013,19 +4884,11 @@ TEST_P(QuicConnectionTest, CheckSendStats) {
|
| QuicAckFrame nack_three = InitAckFrame(4);
|
| NackPacket(3, &nack_three);
|
| NackPacket(1, &nack_three);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - lost_packets.push_back(std::make_pair(3, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - lost_packets.insert(3);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + lost_packets.push_back(std::make_pair(3, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(visitor_, OnCanWrite());
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| @@ -5213,17 +5076,10 @@ TEST_P(QuicConnectionTest, AckNotifierFailToTriggerCallback) {
|
| // which we registered to be notified about.
|
| QuicAckFrame frame = InitAckFrame(3);
|
| NackPacket(1, &frame);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(1);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(1, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| ProcessAckPacket(&frame);
|
| }
|
| @@ -5245,29 +5101,17 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackAfterRetransmission) {
|
| // Now we receive ACK for packets 1, 3, and 4 and lose 2.
|
| QuicAckFrame frame = InitAckFrame(4);
|
| NackPacket(2, &frame);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(2);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _));
|
| ProcessAckPacket(&frame);
|
|
|
| // Now we get an ACK for packet 5 (retransmitted packet 2), which should
|
| // trigger the callback.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| QuicAckFrame second_ack_frame = InitAckFrame(5);
|
| ProcessAckPacket(&second_ack_frame);
|
| @@ -5328,40 +5172,23 @@ TEST_P(QuicConnectionTest, AckNotifierCallbackForAckOfNackedPacket) {
|
| NackPacket(2, &frame);
|
| EXPECT_CALL(*listener, OnPacketRetransmitted(_));
|
| EXPECT_CALL(visitor_, OnSuccessfulVersionNegotiation(_));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - SendAlgorithmInterface::CongestionVector lost_packets;
|
| - lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| - .WillOnce(SetArgPointee<3>(lost_packets));
|
| - } else {
|
| - PacketNumberSet lost_packets;
|
| - lost_packets.insert(2);
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(lost_packets));
|
| - }
|
| + SendAlgorithmInterface::CongestionVector lost_packets;
|
| + lost_packets.push_back(std::make_pair(2, kMaxPacketSize));
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _))
|
| + .WillOnce(SetArgPointee<3>(lost_packets));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnPacketSent(_, _, _, _, _));
|
| ProcessAckPacket(&frame);
|
|
|
| // Now we get an ACK for packet 2, which was previously nacked.
|
| EXPECT_CALL(*listener, OnPacketAcked(3, _));
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| QuicAckFrame second_ack_frame = InitAckFrame(4);
|
| ProcessAckPacket(&second_ack_frame);
|
|
|
| // Verify that the listener is not notified again when the
|
| // retransmit is acked.
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| QuicAckFrame third_ack_frame = InitAckFrame(5);
|
| ProcessAckPacket(&third_ack_frame);
|
| @@ -5601,12 +5428,7 @@ TEST_P(QuicConnectionTest, ReevaluateTimeUntilSendOnAck) {
|
|
|
| // Process an ack and the send alarm will be set to the new 2ms delay.
|
| QuicAckFrame ack = InitAckFrame(1);
|
| - if (FLAGS_quic_general_loss_algorithm) {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| - } else {
|
| - EXPECT_CALL(*loss_algorithm_, DetectLostPackets(_, _, _, _))
|
| - .WillOnce(Return(PacketNumberSet()));
|
| - }
|
| + EXPECT_CALL(*loss_algorithm_, DetectLosses(_, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, OnCongestionEvent(true, _, _, _));
|
| EXPECT_CALL(*send_algorithm_, TimeUntilSend(_, _, _))
|
| .WillRepeatedly(Return(QuicTime::Delta::FromMilliseconds(2)));
|
|
|