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/tls_server_handshaker.cc b/quic/core/tls_server_handshaker.cc
index 500cecf..88eb326 100644
--- a/quic/core/tls_server_handshaker.cc
+++ b/quic/core/tls_server_handshaker.cc
@@ -141,6 +141,16 @@
return TlsHandshaker::crypto_message_parser();
}
+HandshakeState TlsServerHandshaker::GetHandshakeState() const {
+ if (one_rtt_keys_available_) {
+ return HANDSHAKE_COMPLETE;
+ }
+ if (state_ >= STATE_ENCRYPTION_HANDSHAKE_DATA_PROCESSED) {
+ return HANDSHAKE_PROCESSED;
+ }
+ return HANDSHAKE_START;
+}
+
size_t TlsServerHandshaker::BufferSizeLimitForLevel(
EncryptionLevel level) const {
return TlsHandshaker::BufferSizeLimitForLevel(level);