blob: 834d0060473b2ac37add5a6da32c06ce91230151 [file] [log] [blame]
// Copyright 2014 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/quic_crypto_client_stream.h"
#include "net/quic/quic_session.h"
namespace net {
// Base class for all client-specific QuicSession subclasses.
class NET_EXPORT_PRIVATE QuicClientSessionBase : public QuicSession {
QuicClientSessionBase(QuicConnection* connection,
const QuicConfig& config);
virtual ~QuicClientSessionBase();
// Called when the proof in |cached| is marked valid. If this is a secure
// QUIC session, then this will happen only after the proof verifier
// completes. If this is an insecure QUIC connection, this will happen
// as soon as a valid config is discovered (either from the cache or
// from the server).
virtual void OnProofValid(
const QuicCryptoClientConfig::CachedState& cached) = 0;
// Called when proof verification details become available, either because
// proof verification is complete, or when cached details are used. This
// will only be called for secure QUIC connections.
virtual void OnProofVerifyDetailsAvailable(
const ProofVerifyDetails& verify_details) = 0;
// Override base class to set FEC policy before any data is sent by client.
virtual void OnCryptoHandshakeEvent(CryptoHandshakeEvent event) OVERRIDE;
} // namespace net