elizarov
val ready = ConflatedBroadcastChannel<Boolean>(false) fun onConnected() { ready.offer(true) } fun onDisconnected() { ready.offer(false) } suspend fun waitReady() = ready.consumeEach { if (it) return }