// Copyright (c) 2013 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 "net/quic/mock_crypto_client_stream_factory.h" #include "base/lazy_instance.h" #include "net/quic/quic_chromium_client_session.h" #include "net/third_party/quic/core/quic_crypto_client_stream.h" using std::string; namespace net { MockCryptoClientStreamFactory::~MockCryptoClientStreamFactory() {} MockCryptoClientStreamFactory::MockCryptoClientStreamFactory() : handshake_mode_(MockCryptoClientStream::CONFIRM_HANDSHAKE), last_stream_(nullptr), config_(new quic::QuicConfig()), use_mock_crypter_(false) {} void MockCryptoClientStreamFactory::SetConfig(const quic::QuicConfig& config) { config_.reset(new quic::QuicConfig(config)); } quic::QuicCryptoClientStream* MockCryptoClientStreamFactory::CreateQuicCryptoClientStream( const quic::QuicServerId& server_id, QuicChromiumClientSession* session, std::unique_ptr /*proof_verify_context*/, quic::QuicCryptoClientConfig* crypto_config) { const ProofVerifyDetailsChromium* proof_verify_details = nullptr; if (!proof_verify_details_queue_.empty()) { proof_verify_details = proof_verify_details_queue_.front(); proof_verify_details_queue_.pop(); } last_stream_ = new MockCryptoClientStream( server_id, session, nullptr, *(config_.get()), crypto_config, handshake_mode_, proof_verify_details, use_mock_crypter_); return last_stream_; } } // namespace net