ursus
06/19/2019, 1:48 AMprivate val _state = ConflatedBroadcastChannel<SyncStatus>()
val state: ReceiveChannel<SyncStatus> get() = _state.openSubscription()
fun forceSync() {
_state.offer(SyncStatus.SYNC)
GlobalScope.launch {
val result = if (load()) SyncStatus.IDLE else SyncStatus.FAILED
_state.offer(result)
}
}
how would you handle this if forceSync() took an parameter? Channel per params would be needed @gildorgildor
06/19/2019, 1:50 AMgildor
06/19/2019, 1:51 AMursus
06/19/2019, 1:52 AMursus
06/19/2019, 1:52 AMgildor
06/19/2019, 1:53 AMpostMessageOBservable
, than this forceSync with param just would clear cached valuegildor
06/19/2019, 1:53 AMursus
06/19/2019, 1:54 AMgildor
06/19/2019, 1:54 AMgildor
06/19/2019, 1:54 AMursus
06/19/2019, 1:54 AMgildor
06/19/2019, 1:54 AMgildor
06/19/2019, 1:54 AMursus
06/19/2019, 1:54 AMforceSync(target: Target) {}
ursus
06/19/2019, 1:54 AMforceSync()
ursus
06/19/2019, 1:55 AMursus
06/19/2019, 1:55 AMursus
06/19/2019, 1:56 AMgildor
06/19/2019, 1:57 AMursus
06/19/2019, 1:58 AMgildor
06/19/2019, 1:59 AMursus
06/19/2019, 1:59 AMgildor
06/19/2019, 1:59 AMursus
06/19/2019, 1:59 AMgildor
06/19/2019, 1:59 AMursus
06/19/2019, 2:00 AMgildor
06/19/2019, 2:00 AMgildor
06/19/2019, 2:00 AMursus
06/19/2019, 2:01 AMgildor
06/19/2019, 2:01 AMursus
06/19/2019, 2:02 AMursus
06/19/2019, 2:02 AMgildor
06/19/2019, 2:02 AMwell Id like semantincs like in the sample but be able to add params to forceSyncIt’s not the only thing what you need, I believe you also need some sort of parameterized
state
which require completely different implementationursus
06/19/2019, 2:03 AMursus
06/19/2019, 2:04 AMursus
06/19/2019, 2:04 AMursus
06/19/2019, 2:04 AMursus
06/19/2019, 2:05 AMursus
06/19/2019, 2:12 AM