| // Copyright (c) 2016 The Chromium Authors. All rights reserved. | 
 | // Use of this source code is governed by a BSD-style license that can be | 
 | // found in the LICENSE file. | 
 |  | 
 | #ifndef QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_SESSION_VISITOR_H_ | 
 | #define QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_SESSION_VISITOR_H_ | 
 |  | 
 | #include "net/third_party/quiche/src/quic/core/quic_crypto_server_stream.h" | 
 | #include "net/third_party/quiche/src/quic/core/quic_time_wait_list_manager.h" | 
 | #include "net/third_party/quiche/src/quic/platform/api/quic_test.h" | 
 |  | 
 | namespace quic { | 
 | namespace test { | 
 |  | 
 | class MockQuicSessionVisitor : public QuicTimeWaitListManager::Visitor { | 
 |  public: | 
 |   MockQuicSessionVisitor(); | 
 |   MockQuicSessionVisitor(const MockQuicSessionVisitor&) = delete; | 
 |   MockQuicSessionVisitor& operator=(const MockQuicSessionVisitor&) = delete; | 
 |   ~MockQuicSessionVisitor() override; | 
 |   MOCK_METHOD4(OnConnectionClosed, | 
 |                void(QuicConnectionId connection_id, | 
 |                     QuicErrorCode error, | 
 |                     const std::string& error_details, | 
 |                     ConnectionCloseSource source)); | 
 |   MOCK_METHOD1(OnWriteBlocked, | 
 |                void(QuicBlockedWriterInterface* blocked_writer)); | 
 |   MOCK_METHOD1(OnRstStreamReceived, void(const QuicRstStreamFrame& frame)); | 
 |   MOCK_METHOD1(OnStopSendingReceived, void(const QuicStopSendingFrame& frame)); | 
 |   MOCK_METHOD1(OnConnectionAddedToTimeWaitList, | 
 |                void(QuicConnectionId connection_id)); | 
 | }; | 
 |  | 
 | class MockQuicCryptoServerStreamHelper : public QuicCryptoServerStream::Helper { | 
 |  public: | 
 |   MockQuicCryptoServerStreamHelper(); | 
 |   MockQuicCryptoServerStreamHelper(const MockQuicCryptoServerStreamHelper&) = | 
 |       delete; | 
 |   MockQuicCryptoServerStreamHelper& operator=( | 
 |       const MockQuicCryptoServerStreamHelper&) = delete; | 
 |   ~MockQuicCryptoServerStreamHelper() override; | 
 |   MOCK_CONST_METHOD5(CanAcceptClientHello, | 
 |                      bool(const CryptoHandshakeMessage& message, | 
 |                           const QuicSocketAddress& client_address, | 
 |                           const QuicSocketAddress& peer_address, | 
 |                           const QuicSocketAddress& self_address, | 
 |                           std::string* error_details)); | 
 | }; | 
 |  | 
 | }  // namespace test | 
 | }  // namespace quic | 
 |  | 
 | #endif  // QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_SESSION_VISITOR_H_ |