OY
И закрывать канал не получится просто так, так как нужно закрывать его, когда отменяется подписка, а об этом знает только место вызова.
class Bus<T> {
private val channel: BroadcastChannel<T> = BroadcastChannel(1)
fun content(): Flow<T> {
return channel.openSubscription().receiveAsFlow()
}
fun setValue(value: T) {
channel.offer(value)
}
}
