#include "quiche/quic/test_tools/quic_test_server.h"
#include <memory>
#include <utility>
#include "absl/memory/memory.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/connection_id_generator.h"
#include "quiche/quic/core/io/quic_default_event_loop.h"
#include "quiche/quic/core/quic_default_connection_helper.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/core/quic_versions.h"
#include "quiche/quic/tools/quic_simple_crypto_server_stream_helper.h"
#include "quiche/quic/tools/quic_simple_dispatcher.h"
#include "quiche/quic/tools/quic_simple_server_session.h"
namespace quic {
namespace test {
class CustomStreamSession : public QuicSimpleServerSession { … };
class QuicTestDispatcher : public QuicSimpleDispatcher { … };
QuicTestServer::QuicTestServer(
std::unique_ptr<ProofSource> proof_source,
QuicSimpleServerBackend* quic_simple_server_backend)
: … { … }
QuicTestServer::QuicTestServer(
std::unique_ptr<ProofSource> proof_source, const QuicConfig& config,
const ParsedQuicVersionVector& supported_versions,
QuicSimpleServerBackend* quic_simple_server_backend)
: … { … }
QuicTestServer::QuicTestServer(
std::unique_ptr<ProofSource> proof_source, const QuicConfig& config,
const ParsedQuicVersionVector& supported_versions,
QuicSimpleServerBackend* quic_simple_server_backend,
uint8_t expected_server_connection_id_length)
: … { … }
QuicDispatcher* QuicTestServer::CreateQuicDispatcher() { … }
void QuicTestServer::SetSessionFactory(SessionFactory* factory) { … }
void QuicTestServer::SetSpdyStreamFactory(StreamFactory* factory) { … }
void QuicTestServer::SetCryptoStreamFactory(CryptoStreamFactory* factory) { … }
void QuicTestServer::SetEventLoopFactory(QuicEventLoopFactory* factory) { … }
std::unique_ptr<QuicEventLoop> QuicTestServer::CreateEventLoop() { … }
ImmediateGoAwaySession::ImmediateGoAwaySession(
const QuicConfig& config, QuicConnection* connection,
QuicSession::Visitor* visitor, QuicCryptoServerStreamBase::Helper* helper,
const QuicCryptoServerConfig* crypto_config,
QuicCompressedCertsCache* compressed_certs_cache,
QuicSimpleServerBackend* quic_simple_server_backend)
: … { … }
void ImmediateGoAwaySession::OnStreamFrame(const QuicStreamFrame& frame) { … }
void ImmediateGoAwaySession::OnCryptoFrame(const QuicCryptoFrame& frame) { … }
void ImmediateGoAwaySession::OnNewEncryptionKeyAvailable(
EncryptionLevel level, std::unique_ptr<QuicEncrypter> encrypter) { … }
}
}