#include "quiche/quic/core/quic_datagram_queue.h"
#include <memory>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/null_encrypter.h"
#include "quiche/quic/core/quic_time.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/test_tools/quic_test_utils.h"
#include "quiche/common/platform/api/quiche_mem_slice.h"
#include "quiche/common/platform/api/quiche_reference_counted.h"
#include "quiche/common/quiche_buffer_allocator.h"
namespace quic {
namespace test {
namespace {
_;
ElementsAre;
Return;
class EstablishedCryptoStream : public MockQuicCryptoStream { … };
class QuicDatagramQueueObserver final : public QuicDatagramQueue::Observer { … };
class QuicDatagramQueueTestBase : public QuicTest { … };
class QuicDatagramQueueTest : public QuicDatagramQueueTestBase { … };
TEST_F(QuicDatagramQueueTest, SendDatagramImmediately) { … }
TEST_F(QuicDatagramQueueTest, SendDatagramAfterBuffering) { … }
TEST_F(QuicDatagramQueueTest, EmptyBuffer) { … }
TEST_F(QuicDatagramQueueTest, MultipleDatagrams) { … }
TEST_F(QuicDatagramQueueTest, DefaultMaxTimeInQueue) { … }
TEST_F(QuicDatagramQueueTest, Expiry) { … }
TEST_F(QuicDatagramQueueTest, ExpireAll) { … }
class QuicDatagramQueueWithObserverTest : public QuicDatagramQueueTestBase { … };
TEST_F(QuicDatagramQueueWithObserverTest, ObserveSuccessImmediately) { … }
TEST_F(QuicDatagramQueueWithObserverTest, ObserveFailureImmediately) { … }
TEST_F(QuicDatagramQueueWithObserverTest, BlockingShouldNotBeObserved) { … }
TEST_F(QuicDatagramQueueWithObserverTest, ObserveSuccessAfterBuffering) { … }
TEST_F(QuicDatagramQueueWithObserverTest, ObserveExpiry) { … }
}
}
}