diff options
Diffstat (limited to 'chromium/net/quic/quic_crypto_server_stream.h')
-rw-r--r-- | chromium/net/quic/quic_crypto_server_stream.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chromium/net/quic/quic_crypto_server_stream.h b/chromium/net/quic/quic_crypto_server_stream.h index 43924d54d93..ee4013120e4 100644 --- a/chromium/net/quic/quic_crypto_server_stream.h +++ b/chromium/net/quic/quic_crypto_server_stream.h @@ -29,6 +29,10 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { explicit QuicCryptoServerStream(QuicSession* session); virtual ~QuicCryptoServerStream(); + // Cancel any outstanding callbacks, such as asynchronous validation of client + // hello. + void CancelOutstandingCallbacks(); + // CryptoFramerVisitorInterface implementation virtual void OnHandshakeMessage( const CryptoHandshakeMessage& message) OVERRIDE; @@ -38,6 +42,8 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { // presented a ChannelID. Otherwise it returns false. bool GetBase64SHA256ClientChannelID(std::string* output) const; + uint8 num_handshake_messages() const { return num_handshake_messages_; } + protected: virtual QuicErrorCode ProcessClientHello( const CryptoHandshakeMessage& message, @@ -45,6 +51,10 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { CryptoHandshakeMessage* reply, std::string* error_details); + // Hook that allows the server to set QuicConfig defaults just + // before going through the parameter negotiation step. + virtual void OverrideQuicConfigDefaults(QuicConfig* config); + private: friend class test::CryptoTestUtils; @@ -79,6 +89,10 @@ class NET_EXPORT_PRIVATE QuicCryptoServerStream : public QuicCryptoStream { // FinishProcessingHandshakeMessage for processing. NULL if no // handshake message is being validated. ValidateCallback* validate_client_hello_cb_; + + uint8 num_handshake_messages_; + + DISALLOW_COPY_AND_ASSIGN(QuicCryptoServerStream); }; } // namespace net |