Moves last scope to a class-bound variable.

This commit is contained in:
Vitor Pamplona 2023-08-21 13:51:03 -04:00
parent ec3b07147c
commit 43c32f0b0e

View File

@ -10,12 +10,15 @@ import com.vitorpamplona.quartz.events.Event
import com.vitorpamplona.quartz.utils.TimeUtils import com.vitorpamplona.quartz.utils.TimeUtils
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Job import kotlinx.coroutines.SupervisorJob
import kotlinx.coroutines.cancel
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import java.util.UUID import java.util.UUID
import kotlin.Error import kotlin.Error
abstract class NostrDataSource(val debugName: String) { abstract class NostrDataSource(val debugName: String) {
private val scope = CoroutineScope(Dispatchers.IO + SupervisorJob())
private var subscriptions = mapOf<String, Subscription>() private var subscriptions = mapOf<String, Subscription>()
data class Counter(var counter: Int) data class Counter(var counter: Int)
@ -76,6 +79,7 @@ abstract class NostrDataSource(val debugName: String) {
fun destroy() { fun destroy() {
stop() stop()
Client.unsubscribe(clientListener) Client.unsubscribe(clientListener)
scope.cancel()
bundler.cancel() bundler.cancel()
} }
@ -117,8 +121,7 @@ abstract class NostrDataSource(val debugName: String) {
} }
fun resetFilters() { fun resetFilters() {
val scope = CoroutineScope(Job() + Dispatchers.IO) scope.launch(Dispatchers.IO) {
scope.launch {
resetFiltersSuspend() resetFiltersSuspend()
} }
} }