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 NET_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_
6#define NET_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_
7
8#include "net/base/ip_endpoint.h"
9#include "net/quic/crypto/quic_crypto_server_config.h"
10#include "net/quic/quic_config.h"
11#include "net/quic/quic_dispatcher.h"
12#include "net/quic/quic_protocol.h"
13#include "testing/gmock/include/gmock/gmock.h"
14
15namespace net {
16namespace test {
17
18class MockQuicDispatcher : public QuicDispatcher {
19 public:
20  MockQuicDispatcher(const QuicConfig& config,
21                     const QuicCryptoServerConfig& crypto_config,
22                     PacketWriterFactory* packet_writer_factory,
23                     QuicConnectionHelperInterface* helper);
24
25  virtual ~MockQuicDispatcher();
26
27  MOCK_METHOD3(ProcessPacket, void(const IPEndPoint& server_address,
28                                   const IPEndPoint& client_address,
29                                   const QuicEncryptedPacket& packet));
30
31 private:
32  DISALLOW_COPY_AND_ASSIGN(MockQuicDispatcher);
33};
34
35}  // namespace test
36}  // namespace net
37
38#endif  // NET_QUIC_TEST_TOOLS_MOCK_QUIC_DISPATCHER_H_
39