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.