gfe-relnote: When new 0RTT key is available, only allow client to write application data as server application data should be written in forward secure. Protected by gfe2_reloadable_flag_quic_use_handshaker_delegate2 which replaces gfe2_reloadable_flag_quic_use_handshaker_delegate.

PiperOrigin-RevId: 284213052
Change-Id: Ic77723e7f8570fb720af719af98d86e47c76ad34
diff --git a/quic/core/quic_session.cc b/quic/core/quic_session.cc
index ada8bf4..6381bf2 100644
--- a/quic/core/quic_session.cc
+++ b/quic/core/quic_session.cc
@@ -1326,11 +1326,13 @@
     case ENCRYPTION_INITIAL:
       break;
     case ENCRYPTION_ZERO_RTT:
-      // Retransmit old 0-RTT data (if any) with the new 0-RTT keys, since they
-      // can't be decrypted by the peer.
-      connection_->RetransmitUnackedPackets(ALL_INITIAL_RETRANSMISSION);
-      // Given any streams blocked by encryption a chance to write.
-      OnCanWrite();
+      if (perspective() == Perspective::IS_CLIENT) {
+        // Retransmit old 0-RTT data (if any) with the new 0-RTT keys, since
+        // they can't be decrypted by the server.
+        connection_->RetransmitUnackedPackets(ALL_INITIAL_RETRANSMISSION);
+        // Given any streams blocked by encryption a chance to write.
+        OnCanWrite();
+      }
       break;
     case ENCRYPTION_HANDSHAKE:
       break;