1 // Copyright (c) 2012 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_TIME_WAIT_LIST_MANAGER_H_
6 #define QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_TIME_WAIT_LIST_MANAGER_H_
7 
8 #include "quiche/quic/core/quic_time_wait_list_manager.h"
9 #include "quiche/quic/platform/api/quic_test.h"
10 
11 namespace quic {
12 namespace test {
13 
14 class MockTimeWaitListManager : public QuicTimeWaitListManager {
15  public:
16   MockTimeWaitListManager(QuicPacketWriter* writer, Visitor* visitor,
17                           const QuicClock* clock,
18                           QuicAlarmFactory* alarm_factory);
19   ~MockTimeWaitListManager() override;
20 
21   MOCK_METHOD(void, AddConnectionIdToTimeWait,
22               (QuicTimeWaitListManager::TimeWaitAction action,
23                quic::TimeWaitConnectionInfo info),
24               (override));
25 
QuicTimeWaitListManager_AddConnectionIdToTimeWait(QuicTimeWaitListManager::TimeWaitAction action,quic::TimeWaitConnectionInfo info)26   void QuicTimeWaitListManager_AddConnectionIdToTimeWait(
27       QuicTimeWaitListManager::TimeWaitAction action,
28       quic::TimeWaitConnectionInfo info) {
29     QuicTimeWaitListManager::AddConnectionIdToTimeWait(action, std::move(info));
30   }
31 
32   MOCK_METHOD(void, ProcessPacket,
33               (const QuicSocketAddress&, const QuicSocketAddress&,
34                QuicConnectionId, PacketHeaderFormat, size_t,
35                std::unique_ptr<QuicPerPacketContext>),
36               (override));
37 
38   MOCK_METHOD(void, SendVersionNegotiationPacket,
39               (QuicConnectionId server_connection_id,
40                QuicConnectionId client_connection_id, bool ietf_quic,
41                bool has_length_prefix,
42                const ParsedQuicVersionVector& supported_versions,
43                const QuicSocketAddress& server_address,
44                const QuicSocketAddress& client_address,
45                std::unique_ptr<QuicPerPacketContext> packet_context),
46               (override));
47 
48   MOCK_METHOD(void, SendPublicReset,
49               (const QuicSocketAddress&, const QuicSocketAddress&,
50                QuicConnectionId, bool, size_t,
51                std::unique_ptr<QuicPerPacketContext>),
52               (override));
53 
54   MOCK_METHOD(void, SendPacket,
55               (const QuicSocketAddress&, const QuicSocketAddress&,
56                const QuicEncryptedPacket&),
57               (override));
58 };
59 
60 }  // namespace test
61 }  // namespace quic
62 
63 #endif  // QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_TIME_WAIT_LIST_MANAGER_H_
64