blob: 78dd92d135f662933e7bbe7c0db3d9ac958e6cb9 [file] [log] [blame]
wubf975eac2019-08-19 19:41:01 -07001// 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 "net/third_party/quiche/src/quic/platform/api/quic_test.h"
9#include "net/third_party/quiche/src/quic/qbone/qbone_packet_processor.h"
dmcardled70b99e2019-12-12 09:52:39 -080010#include "net/third_party/quiche/src/common/platform/api/quiche_string_piece.h"
wubf975eac2019-08-19 19:41:01 -070011
12namespace quic {
13
14class MockPacketProcessorOutput : public QbonePacketProcessor::OutputInterface {
15 public:
16 MockPacketProcessorOutput() {}
17
dmcardled70b99e2019-12-12 09:52:39 -080018 MOCK_METHOD1(SendPacketToClient, void(quiche::QuicheStringPiece));
19 MOCK_METHOD1(SendPacketToNetwork, void(quiche::QuicheStringPiece));
wubf975eac2019-08-19 19:41:01 -070020};
21
22class MockPacketProcessorStats : public QbonePacketProcessor::StatsInterface {
23 public:
24 MockPacketProcessorStats() {}
25
26 MOCK_METHOD1(OnPacketForwarded, void(QbonePacketProcessor::Direction));
27 MOCK_METHOD1(OnPacketDroppedSilently, void(QbonePacketProcessor::Direction));
28 MOCK_METHOD1(OnPacketDroppedWithIcmp, void(QbonePacketProcessor::Direction));
29 MOCK_METHOD1(OnPacketDroppedWithTcpReset,
30 void(QbonePacketProcessor::Direction));
31 MOCK_METHOD1(OnPacketDeferred, void(QbonePacketProcessor::Direction));
32};
33
34string PrependIPv6HeaderForTest(const string& body, int hops);
35
36} // namespace quic
37
38#endif // QUICHE_QUIC_QBONE_QBONE_PACKET_PROCESSOR_TEST_TOOLS_H_