// 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.

#include "quiche/quic/test_tools/mock_quic_session_visitor.h"

namespace quic {
namespace test {

MockQuicSessionVisitor::MockQuicSessionVisitor() = default;

MockQuicSessionVisitor::~MockQuicSessionVisitor() = default;

MockQuicCryptoServerStreamHelper::MockQuicCryptoServerStreamHelper() = default;

MockQuicCryptoServerStreamHelper::~MockQuicCryptoServerStreamHelper() = default;

}  // namespace test
}  // namespace quic
