#include "quiche/quic/tools/quic_server.h"
#include <memory>
#include <string>
#include <utility>
#include "absl/base/macros.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/deterministic_connection_id_generator.h"
#include "quiche/quic/core/io/quic_default_event_loop.h"
#include "quiche/quic/core/io/quic_event_loop.h"
#include "quiche/quic/core/quic_default_clock.h"
#include "quiche/quic/core/quic_default_connection_helper.h"
#include "quiche/quic/core/quic_default_packet_writer.h"
#include "quiche/quic/core/quic_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/quic/platform/api/quic_socket_address.h"
#include "quiche/quic/platform/api/quic_test.h"
#include "quiche/quic/platform/api/quic_test_loopback.h"
#include "quiche/quic/test_tools/crypto_test_utils.h"
#include "quiche/quic/test_tools/mock_quic_dispatcher.h"
#include "quiche/quic/test_tools/quic_server_peer.h"
#include "quiche/quic/tools/quic_memory_cache_backend.h"
#include "quiche/quic/tools/quic_simple_crypto_server_stream_helper.h"
namespace quic {
namespace test {
_;
namespace {
class MockQuicSimpleDispatcher : public QuicSimpleDispatcher { … };
class TestQuicServer : public QuicServer { … };
class QuicServerEpollInTest : public QuicTestWithParam<QuicEventLoopFactory*> { … };
std::string GetTestParamName(
::testing::TestParamInfo<QuicEventLoopFactory*> info) { … }
INSTANTIATE_TEST_SUITE_P(…);
TEST_P(QuicServerEpollInTest, ProcessBufferedCHLOsOnEpollin) { … }
class QuicServerDispatchPacketTest : public QuicTest { … };
TEST_F(QuicServerDispatchPacketTest, DispatchPacket) { … }
}
}
}