Index: net/quic/quic_crypto_client_stream.h |
diff --git a/net/quic/quic_crypto_client_stream.h b/net/quic/quic_crypto_client_stream.h |
index edfc1f58e3976ba13946406b0aa230fb3e9e6052..634b281bb2b7ce1b04c144d7def40566497662f6 100644 |
--- a/net/quic/quic_crypto_client_stream.h |
+++ b/net/quic/quic_crypto_client_stream.h |
@@ -23,7 +23,23 @@ class CryptoTestUtils; |
class QuicChromiumClientSessionPeer; |
} // namespace test |
-class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
+class NET_EXPORT_PRIVATE QuicCryptoClientStreamBase : public QuicCryptoStream { |
+ public: |
+ explicit QuicCryptoClientStreamBase(QuicClientSessionBase* session); |
+ |
+ ~QuicCryptoClientStreamBase() override{}; |
+ |
+ // Performs a crypto handshake with the server. |
+ virtual void CryptoConnect() = 0; |
+ |
+ // num_sent_client_hellos returns the number of client hello messages that |
+ // have been sent. If the handshake has completed then this is one greater |
+ // than the number of round-trips needed for the handshake. |
+ virtual int num_sent_client_hellos() const = 0; |
+}; |
+ |
+class NET_EXPORT_PRIVATE QuicCryptoClientStream |
+ : public QuicCryptoClientStreamBase { |
public: |
// kMaxClientHellos is the maximum number of times that we'll send a client |
// hello. The value 3 accounts for: |
@@ -32,24 +48,20 @@ class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
// the server being unwilling to send it without a valid source-address |
// token. |
static const int kMaxClientHellos = 3; |
- |
QuicCryptoClientStream(const QuicServerId& server_id, |
QuicClientSessionBase* session, |
ProofVerifyContext* verify_context, |
QuicCryptoClientConfig* crypto_config); |
+ |
~QuicCryptoClientStream() override; |
+ // From QuicCryptoClientStreamBase |
+ void CryptoConnect() override; |
+ int num_sent_client_hellos() const override; |
+ |
// CryptoFramerVisitorInterface implementation |
void OnHandshakeMessage(const CryptoHandshakeMessage& message) override; |
- // Performs a crypto handshake with the server. |
- virtual void CryptoConnect(); |
- |
- // num_sent_client_hellos returns the number of client hello messages that |
- // have been sent. If the handshake has completed then this is one greater |
- // than the number of round-trips needed for the handshake. |
- int num_sent_client_hellos() const; |
- |
// Returns true if a channel ID was sent on this connection. |
bool WasChannelIDSent() const; |
@@ -128,8 +140,7 @@ class NET_EXPORT_PRIVATE QuicCryptoClientStream : public QuicCryptoStream { |
void DoInitialize(QuicCryptoClientConfig::CachedState* cached); |
// Send either InchoateClientHello or ClientHello message to the server. |
- void DoSendCHLO(const CryptoHandshakeMessage* in, |
- QuicCryptoClientConfig::CachedState* cached); |
+ void DoSendCHLO(QuicCryptoClientConfig::CachedState* cached); |
// Process REJ message from the server. |
void DoReceiveREJ(const CryptoHandshakeMessage* in, |