1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_ 6 #define QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_ 7 8 #include "quiche/quic/core/crypto/quic_crypto_server_config.h" 9 #include "quiche/quic/core/quic_config.h" 10 #include "quiche/quic/core/quic_packets.h" 11 #include "quiche/quic/platform/api/quic_test.h" 12 #include "quiche/quic/tools/quic_simple_dispatcher.h" 13 #include "quiche/quic/tools/quic_simple_server_backend.h" 14 15 namespace quic { 16 namespace test { 17 18 class MockQuicDispatcher : public QuicSimpleDispatcher { 19 public: 20 MockQuicDispatcher( 21 const QuicConfig* config, const QuicCryptoServerConfig* crypto_config, 22 QuicVersionManager* version_manager, 23 std::unique_ptr<QuicConnectionHelperInterface> helper, 24 std::unique_ptr<QuicCryptoServerStreamBase::Helper> session_helper, 25 std::unique_ptr<QuicAlarmFactory> alarm_factory, 26 QuicSimpleServerBackend* quic_simple_server_backend, 27 ConnectionIdGeneratorInterface& generator); 28 MockQuicDispatcher(const MockQuicDispatcher&) = delete; 29 MockQuicDispatcher& operator=(const MockQuicDispatcher&) = delete; 30 31 ~MockQuicDispatcher() override; 32 33 MOCK_METHOD(void, ProcessPacket, 34 (const QuicSocketAddress& server_address, 35 const QuicSocketAddress& client_address, 36 const QuicReceivedPacket& packet), 37 (override)); 38 }; 39 40 } // namespace test 41 } // namespace quic 42 43 #endif // QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_ 44