gfe-relnote: In QUIC, implement GetHandshakeState() in various handshakers. Not used yet, not protected.
GetHandshakeState() will be used to retrieve current handshake state, and handshaker is the only source of this information. But caller can choose to latch handshake state for performance purpose.
PiperOrigin-RevId: 290142490
Change-Id: I51c33c9ebcbb1ab13eddc0d86197991167642461
diff --git a/quic/core/quic_crypto_server_stream.h b/quic/core/quic_crypto_server_stream.h
index 09ccacb..db95116 100644
--- a/quic/core/quic_crypto_server_stream.h
+++ b/quic/core/quic_crypto_server_stream.h
@@ -128,6 +128,9 @@
// Used by QuicCryptoStream to parse data received on this stream.
virtual CryptoMessageParser* crypto_message_parser() = 0;
+ // Get current handshake state.
+ virtual HandshakeState GetHandshakeState() const = 0;
+
// Used by QuicCryptoStream to know how much unprocessed data can be
// buffered at each encryption level.
virtual size_t BufferSizeLimitForLevel(EncryptionLevel level) const = 0;
@@ -172,6 +175,7 @@
const override;
CryptoMessageParser* crypto_message_parser() override;
void OnPacketDecrypted(EncryptionLevel level) override;
+ HandshakeState GetHandshakeState() const override;
size_t BufferSizeLimitForLevel(EncryptionLevel level) const override;
void OnSuccessfulVersionNegotiation(
const ParsedQuicVersion& version) override;