blob: 587f685a9a8954c611e259b291c7397972646308 [file] [log] [blame]
Bence Békybac04052022-04-07 15:44:29 -04001// Copyright (c) 2019 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_QBONE_QBONE_PACKET_PROCESSOR_TEST_TOOLS_H_
6#define QUICHE_QUIC_QBONE_QBONE_PACKET_PROCESSOR_TEST_TOOLS_H_
7
8#include "absl/strings/string_view.h"
9#include "quiche/quic/platform/api/quic_test.h"
10#include "quiche/quic/qbone/qbone_packet_processor.h"
11
12namespace quic {
13
14class MockPacketProcessorOutput : public QbonePacketProcessor::OutputInterface {
15 public:
16 MockPacketProcessorOutput() {}
17
18 MOCK_METHOD(void, SendPacketToClient, (absl::string_view), (override));
19 MOCK_METHOD(void, SendPacketToNetwork, (absl::string_view), (override));
20};
21
22class MockPacketProcessorStats : public QbonePacketProcessor::StatsInterface {
23 public:
24 MockPacketProcessorStats() {}
25
26 MOCK_METHOD(void,
27 OnPacketForwarded,
28 (QbonePacketProcessor::Direction),
29 (override));
30 MOCK_METHOD(void,
31 OnPacketDroppedSilently,
32 (QbonePacketProcessor::Direction),
33 (override));
34 MOCK_METHOD(void,
35 OnPacketDroppedWithIcmp,
36 (QbonePacketProcessor::Direction),
37 (override));
38 MOCK_METHOD(void,
39 OnPacketDroppedWithTcpReset,
40 (QbonePacketProcessor::Direction),
41 (override));
42 MOCK_METHOD(void,
43 OnPacketDeferred,
44 (QbonePacketProcessor::Direction),
45 (override));
46};
47
48std::string PrependIPv6HeaderForTest(const std::string& body, int hops);
49
50} // namespace quic
51
52#endif // QUICHE_QUIC_QBONE_QBONE_PACKET_PROCESSOR_TEST_TOOLS_H_