| // 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_base.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_METHOD(void, | 
 |               OnConnectionClosed, | 
 |               (QuicConnectionId connection_id, | 
 |                QuicErrorCode error, | 
 |                const std::string& error_details, | 
 |                ConnectionCloseSource source), | 
 |               (override)); | 
 |   MOCK_METHOD(void, OnWriteBlocked, (QuicBlockedWriterInterface*), (override)); | 
 |   MOCK_METHOD(void, | 
 |               OnRstStreamReceived, | 
 |               (const QuicRstStreamFrame& frame), | 
 |               (override)); | 
 |   MOCK_METHOD(void, | 
 |               OnStopSendingReceived, | 
 |               (const QuicStopSendingFrame& frame), | 
 |               (override)); | 
 |   MOCK_METHOD(void, | 
 |               OnConnectionAddedToTimeWaitList, | 
 |               (QuicConnectionId connection_id), | 
 |               (override)); | 
 | }; | 
 |  | 
 | class MockQuicCryptoServerStreamHelper | 
 |     : public QuicCryptoServerStreamBase::Helper { | 
 |  public: | 
 |   MockQuicCryptoServerStreamHelper(); | 
 |   MockQuicCryptoServerStreamHelper(const MockQuicCryptoServerStreamHelper&) = | 
 |       delete; | 
 |   MockQuicCryptoServerStreamHelper& operator=( | 
 |       const MockQuicCryptoServerStreamHelper&) = delete; | 
 |   ~MockQuicCryptoServerStreamHelper() override; | 
 |   MOCK_METHOD(bool, | 
 |               CanAcceptClientHello, | 
 |               (const CryptoHandshakeMessage& message, | 
 |                const QuicSocketAddress& client_address, | 
 |                const QuicSocketAddress& peer_address, | 
 |                const QuicSocketAddress& self_address, | 
 |                std::string*), | 
 |               (const, override)); | 
 | }; | 
 |  | 
 | }  // namespace test | 
 | }  // namespace quic | 
 |  | 
 | #endif  // QUICHE_QUIC_TEST_TOOLS_MOCK_QUIC_SESSION_VISITOR_H_ |