#include "quiche/quic/core/uber_received_packet_manager.h"
#include <algorithm>
#include <memory>
#include <utility>
#include "quiche/quic/core/congestion_control/rtt_stats.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/quic_connection_stats.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/mock_clock.h"
namespace quic {
namespace test {
class UberReceivedPacketManagerPeer { … };
namespace {
const bool kInstigateAck = …;
const QuicTime::Delta kMinRttMs = …;
const QuicTime::Delta kDelayedAckTime = …;
EncryptionLevel GetEncryptionLevel(PacketNumberSpace packet_number_space) { … }
class UberReceivedPacketManagerTest : public QuicTest { … };
TEST_F(UberReceivedPacketManagerTest, DontWaitForPacketsBefore) { … }
TEST_F(UberReceivedPacketManagerTest, GetUpdatedAckFrame) { … }
TEST_F(UberReceivedPacketManagerTest, UpdateReceivedConnectionStats) { … }
TEST_F(UberReceivedPacketManagerTest, LimitAckRanges) { … }
TEST_F(UberReceivedPacketManagerTest, IgnoreOutOfOrderTimestamps) { … }
TEST_F(UberReceivedPacketManagerTest, OutOfOrderReceiptCausesAckSent) { … }
TEST_F(UberReceivedPacketManagerTest, OutOfOrderAckReceiptCausesNoAck) { … }
TEST_F(UberReceivedPacketManagerTest, AckReceiptCausesAckSend) { … }
TEST_F(UberReceivedPacketManagerTest, AckSentEveryNthPacket) { … }
TEST_F(UberReceivedPacketManagerTest, AckDecimationReducesAcks) { … }
TEST_F(UberReceivedPacketManagerTest, SendDelayedAckDecimation) { … }
TEST_F(UberReceivedPacketManagerTest,
SendDelayedAckDecimationUnlimitedAggregation) { … }
TEST_F(UberReceivedPacketManagerTest, SendDelayedAckDecimationEighthRtt) { … }
TEST_F(UberReceivedPacketManagerTest,
DontWaitForPacketsBeforeMultiplePacketNumberSpaces) { … }
TEST_F(UberReceivedPacketManagerTest, AckSendingDifferentPacketNumberSpaces) { … }
TEST_F(UberReceivedPacketManagerTest,
AckTimeoutForPreviouslyUndecryptablePackets) { … }
}
}
}