In QUIC, add error code QUIC_SILENT_IDLE_TIMEOUT. Used when server silently close connection due to no network activity. The connection close packets would be serialized and will be sent by time wait list upon receiving client packets. Protected by gfe2_reloadable_flag_quic_add_silent_idle_timeout.

PiperOrigin-RevId: 325226891
Change-Id: Id32192da063e5f4f605ef4afcb779c6b7e6a700d
diff --git a/quic/core/quic_error_codes.cc b/quic/core/quic_error_codes.cc
index 7065363..cf153e3 100644
--- a/quic/core/quic_error_codes.cc
+++ b/quic/core/quic_error_codes.cc
@@ -228,6 +228,7 @@
     RETURN_STRING_LITERAL(QUIC_ZERO_RTT_UNRETRANSMITTABLE);
     RETURN_STRING_LITERAL(QUIC_ZERO_RTT_REJECTION_LIMIT_REDUCED);
     RETURN_STRING_LITERAL(QUIC_ZERO_RTT_RESUMPTION_LIMIT_REDUCED);
+    RETURN_STRING_LITERAL(QUIC_SILENT_IDLE_TIMEOUT);
 
     RETURN_STRING_LITERAL(QUIC_LAST_ERROR);
     // Intentionally have no default case, so we'll break the build
@@ -362,6 +363,8 @@
       return {true, static_cast<uint64_t>(PROTOCOL_VIOLATION)};
     case QUIC_NETWORK_IDLE_TIMEOUT:
       return {true, static_cast<uint64_t>(NO_IETF_QUIC_ERROR)};
+    case QUIC_SILENT_IDLE_TIMEOUT:
+      return {true, static_cast<uint64_t>(NO_IETF_QUIC_ERROR)};
     case QUIC_HANDSHAKE_TIMEOUT:
       return {true, static_cast<uint64_t>(NO_IETF_QUIC_ERROR)};
     case QUIC_ERROR_MIGRATING_ADDRESS: