From 2eb3e69abb741dd73d1eca8a808644e5f9bdb995 Mon Sep 17 00:00:00 2001 From: Alexander Shparun Date: Tue, 5 Aug 2025 03:16:08 +0200 Subject: [PATCH] [fleet] a bit of performance in tcp socket - kotlinx.serialization on hot path costs 10_000 m/s - unconfined ServerRequestDispatcher give 3_000 more GitOrigin-RevId: 7d64ebd2d5603015283b19db74fe4c5835e95f96 --- .../srcCommonMain/fleet/rpc/server/ServerRequestDispatcher.kt | 2 +- fleet/rpc/srcCommonMain/fleet/rpc/core/TransportMessage.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fleet/rpc.server/srcCommonMain/fleet/rpc/server/ServerRequestDispatcher.kt b/fleet/rpc.server/srcCommonMain/fleet/rpc/server/ServerRequestDispatcher.kt index 6d153881c1a2..10132d852b1f 100644 --- a/fleet/rpc.server/srcCommonMain/fleet/rpc/server/ServerRequestDispatcher.kt +++ b/fleet/rpc.server/srcCommonMain/fleet/rpc/server/ServerRequestDispatcher.kt @@ -59,7 +59,7 @@ class ServerRequestDispatcher(private val connectionListener: ConnectionListener broadcastSafely(TransportMessage.RouteOpened(route)) connectionListener?.onConnect(endpoint, route, socketId, presentableName) coroutineScope { - val connectionJob = launch { + val connectionJob = launch(Dispatchers.Unconfined) { receive.consumeEach { message -> when (message) { is TransportMessage.Envelope -> { diff --git a/fleet/rpc/srcCommonMain/fleet/rpc/core/TransportMessage.kt b/fleet/rpc/srcCommonMain/fleet/rpc/core/TransportMessage.kt index 2282fd24abdb..998ead730c03 100644 --- a/fleet/rpc/srcCommonMain/fleet/rpc/core/TransportMessage.kt +++ b/fleet/rpc/srcCommonMain/fleet/rpc/core/TransportMessage.kt @@ -21,7 +21,7 @@ sealed class TransportMessage { @Serializable @SerialName("envelope") - data class Envelope(val destination: UID, val origin: UID, val otelData: String? = null, val payload: String) : TransportMessage() + data class Envelope(val destination: UID, val origin: UID, val otelData: String? = null, val payload: String) : TransportMessage() fun serialize(): String { return Json.encodeToString(serializer, this)