gfe-relnote: Create handshaker for QuicCryptoServerStream in constructor instead of later. Protected by reloadable flag quic_set_server_handshaker_in_constructor.
PiperOrigin-RevId: 286659143
Change-Id: I2b95c42420ebb27bfc14fe003b69dad423a60451
diff --git a/quic/core/quic_crypto_server_stream.h b/quic/core/quic_crypto_server_stream.h
index 2e0e723..427cced 100644
--- a/quic/core/quic_crypto_server_stream.h
+++ b/quic/core/quic_crypto_server_stream.h
@@ -188,6 +188,11 @@
// handshaker hasn't been set yet. If set_handshaker is called outside of
// OnSuccessfulVersionNegotiation, then that method must be overridden to not
// set a handshaker.
+ QuicCryptoServerStream(const QuicCryptoServerConfig* crypto_config,
+ QuicCompressedCertsCache* compressed_certs_cache,
+ QuicSession* session,
+ Helper* helper,
+ std::unique_ptr<HandshakerDelegate> handshaker);
void set_handshaker(std::unique_ptr<HandshakerDelegate> handshaker);
HandshakerDelegate* handshaker() const;
@@ -197,6 +202,8 @@
private:
std::unique_ptr<HandshakerDelegate> handshaker_;
+ // Latched value of quic_create_server_handshaker_in_constructor flag.
+ bool create_handshaker_in_constructor_;
// Arguments from QuicCryptoServerStream constructor that might need to be
// passed to the HandshakerDelegate constructor in its late construction.