Как я могу использовать каналы сопрограмм вместе с построителем сопрограмм Liveata (androidx.lifecycle:lifecycle-livedata-ktx architecture component) для непрерывного прослушивания сообщений, созданных из библиотеки веб-сокетов на ReceiveChannel<String>?
Моя первая мысль - реализовать это так
val user: LiveData<String> = liveData {
    while(true) {
        val data = myWebsocketChannel.receive() //Channel suspend function
        emit(data)
    }
}
Но это кажется немного "не-котлиным", и мое чутье подсказывает мне, что есть способ лучше решить эту проблему. Есть ли лучший способ обработки данных публикации, однажды полученных из канала сопрограмм?
 
                                                                     
                                                                    