summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_client_session_base.h
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-24 02:41:23 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-24 02:41:23 +0000
commit90f62f09472e09817ec52ed2ab821b18a5cabdf3 (patch)
tree7002fb2baab65229f6c1680614960d71c02cabc9 /net/quic/quic_client_session_base.h
parent2c332d33707d7735d4a1bf36be482c88a9e22b64 (diff)
downloadchromium_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.h41
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_