diff options
author | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-24 02:41:23 +0000 |
---|---|---|
committer | rch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-24 02:41:23 +0000 |
commit | 90f62f09472e09817ec52ed2ab821b18a5cabdf3 (patch) | |
tree | 7002fb2baab65229f6c1680614960d71c02cabc9 /net/quic/quic_client_session_base.h | |
parent | 2c332d33707d7735d4a1bf36be482c88a9e22b64 (diff) | |
download | chromium_src-90f62f09472e09817ec52ed2ab821b18a5cabdf3.zip chromium_src-90f62f09472e09817ec52ed2ab821b18a5cabdf3.tar.gz chromium_src-90f62f09472e09817ec52ed2ab821b18a5cabdf3.tar.bz2 |
Remove QuicCryptoClientStream::Visitor, and instead introduce a
QuicClientSessionBase to serve a similar purpose.
Review URL: https://codereview.chromium.org/207113002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@258847 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_client_session_base.h')
-rw-r--r-- | net/quic/quic_client_session_base.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/net/quic/quic_client_session_base.h b/net/quic/quic_client_session_base.h new file mode 100644 index 0000000..eab5d08 --- /dev/null +++ b/net/quic/quic_client_session_base.h @@ -0,0 +1,41 @@ +// 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. + +#ifndef NET_QUIC_QUIC_CLIENT_SESSION_BASE_H_ +#define NET_QUIC_QUIC_CLIENT_SESSION_BASE_H_ + +#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 { + public: + 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; + + private: + DISALLOW_COPY_AND_ASSIGN(QuicClientSessionBase); +}; + +} // namespace net + +#endif // NET_QUIC_QUIC_CLIENT_SESSION_BASE_H_ |