gfe-relnote: Use HandshakerDelegateInterface in QUIC handshakers. Abstract keys installation, keys discarding, default encryption level change and mark handshake complete to HandshakerDelegateInterface. Protected by gfe2_reloadable_flag_quic_use_handshaker_delegate.
The final goal is remove session pointer from handshakers.
PiperOrigin-RevId: 282826263
Change-Id: I9b379ccfcebd174df1850f7df45069d388460173
diff --git a/quic/core/tls_handshaker.h b/quic/core/tls_handshaker.h
index 7d5b9bc..14503cd 100644
--- a/quic/core/tls_handshaker.h
+++ b/quic/core/tls_handshaker.h
@@ -61,17 +61,13 @@
// Returns the PRF used by the cipher suite negotiated in the TLS handshake.
const EVP_MD* Prf();
- std::unique_ptr<QuicEncrypter> CreateEncrypter(
- const std::vector<uint8_t>& pp_secret);
- std::unique_ptr<QuicDecrypter> CreateDecrypter(
- const std::vector<uint8_t>& pp_secret);
-
virtual const TlsConnection* tls_connection() const = 0;
SSL* ssl() const { return tls_connection()->ssl(); }
QuicCryptoStream* stream() { return stream_; }
QuicSession* session() { return session_; }
+ HandshakerDelegateInterface* delegate() { return delegate_; }
// SetEncryptionSecret provides the encryption secret to use at a particular
// encryption level. The secrets provided here are the ones from the TLS 1.3
@@ -100,6 +96,7 @@
private:
QuicCryptoStream* stream_;
QuicSession* session_;
+ HandshakerDelegateInterface* delegate_;
QuicErrorCode parser_error_ = QUIC_NO_ERROR;
std::string parser_error_detail_;