#include "quiche/quic/core/congestion_control/general_loss_algorithm.h"
#include <algorithm>
#include <cstdint>
#include <optional>
#include <vector>
#include "quiche/quic/core/congestion_control/rtt_stats.h"
#include "quiche/quic/core/quic_unacked_packet_map.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/mock_clock.h"
namespace quic {
namespace test {
namespace {
const uint32_t kDefaultLength = …;
class GeneralLossAlgorithmTest : public QuicTest { … };
TEST_F(GeneralLossAlgorithmTest, NackRetransmit1Packet) { … }
TEST_F(GeneralLossAlgorithmTest, NackRetransmit1PacketWith1StretchAck) { … }
TEST_F(GeneralLossAlgorithmTest, NackRetransmit1PacketSingleAck) { … }
TEST_F(GeneralLossAlgorithmTest, EarlyRetransmit1Packet) { … }
TEST_F(GeneralLossAlgorithmTest, EarlyRetransmitAllPackets) { … }
TEST_F(GeneralLossAlgorithmTest, DontEarlyRetransmitNeuteredPacket) { … }
TEST_F(GeneralLossAlgorithmTest, EarlyRetransmitWithLargerUnackablePackets) { … }
TEST_F(GeneralLossAlgorithmTest, AlwaysLosePacketSent1RTTEarlier) { … }
TEST_F(GeneralLossAlgorithmTest, IncreaseTimeThresholdUponSpuriousLoss) { … }
TEST_F(GeneralLossAlgorithmTest, IncreaseReorderingThresholdUponSpuriousLoss) { … }
TEST_F(GeneralLossAlgorithmTest, DefaultIetfLossDetection) { … }
TEST_F(GeneralLossAlgorithmTest, IetfLossDetectionWithOneFourthRttDelay) { … }
TEST_F(GeneralLossAlgorithmTest, NoPacketThresholdForRuntPackets) { … }
}
}
}