override fun decode()

in hot-reload-orchestration/src/main/kotlin/org/jetbrains/compose/reload/orchestration/orchestrationMessageEncoders.kt [243:267]


    override fun decode(data: ByteArray): Try<TestEvent> {
        if (data.isEmpty()) return TestEvent(null).toLeft()

        return data.tryDecode {
            val method = readString()

            if (method == PAYLOAD_ENCODING_METHOD_JIOS) {
                val payload = readFrame().decodeSerializableObject()
                return@tryDecode TestEvent(payload)
            }

            if (method == PAYLOAD_ENCODING_METHOD_ENCODED) {
                val messageId = readOptionalFrame()?.let(::OrchestrationMessageId)
                val classifier = OrchestrationMessageClassifier(readString(), readString())
                val encoder = messageEncoderOf(classifier) ?: error("Missing encoder for '$classifier'")
                return@tryDecode TestEvent(encoder.decode(readFrame()).getOrThrow()).also { message ->
                    if (message.payload is OrchestrationMessage && messageId != null) {
                        message.payload.messageId = messageId
                    }
                }
            }

            error("Unknown method: $method")
        }
    }