gfe-relnote: In QUIC + TLS, change connection's default encryption level when new encryption key is available. Protected by gfe2_reloadable_flag_quic_change_default_encryption_level. PiperOrigin-RevId: 309831825 Change-Id: Ie4439af16ae22f6e27f873cc3f410caa1c81ca74
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc index 29dfb93..0f00ff3 100644 --- a/quic/core/quic_session.cc +++ b/quic/core/quic_session.cc
@@ -1499,6 +1499,16 @@ connection()->SetEncrypter(level, std::move(encrypter)); if (connection_->version().handshake_protocol == PROTOCOL_TLS1_3 && + (perspective() == Perspective::IS_CLIENT || + GetQuicReloadableFlag(quic_change_default_encryption_level))) { + QUIC_DVLOG(1) << ENDPOINT << "Set default encryption level to " + << EncryptionLevelToString(level); + QUIC_RELOADABLE_FLAG_COUNT(quic_change_default_encryption_level); + connection()->SetDefaultEncryptionLevel(level); + return; + } + + if (connection_->version().handshake_protocol == PROTOCOL_TLS1_3 && level == ENCRYPTION_FORWARD_SECURE) { // Set connection's default encryption level once 1-RTT write key is // available.