From ed491f5e3af6156e76a48006d5cbd052ad97fdf0 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Thu, 14 Dec 2023 15:52:52 -0500 Subject: [PATCH] Avoids recreating the EOSE array when changing filters. --- .../vitorpamplona/amethyst/service/relays/Relay.kt | 14 ++++++++++---- .../quartz/events/ContactListEvent.kt | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt index a73c90c3e..c200d7402 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Relay.kt @@ -183,7 +183,7 @@ class Relay( } fun markConnectionAsReady(pingInMs: Long, usingCompression: Boolean) { - this.afterEOSEPerSubscription.clear() + this.resetEOSEStatuses() this.isReady = true this.pingInMs = pingInMs this.usingCompression = usingCompression @@ -193,7 +193,7 @@ class Relay( this.socket = null this.isReady = false this.usingCompression = false - this.afterEOSEPerSubscription.clear() + this.resetEOSEStatuses() this.closingTimeInSeconds = TimeUtils.now() } @@ -270,7 +270,13 @@ class Relay( socket = null isReady = false usingCompression = false - afterEOSEPerSubscription.clear() + resetEOSEStatuses() + } + + fun resetEOSEStatuses() { + afterEOSEPerSubscription.forEach { + afterEOSEPerSubscription[it.key] = false + } } fun sendFilter(requestId: String) { @@ -290,7 +296,7 @@ class Relay( socket?.send(request) eventUploadCounterInBytes += request.bytesUsedInMemory() - afterEOSEPerSubscription.clear() + resetEOSEStatuses() } } } else { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/ContactListEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/ContactListEvent.kt index be421fc76..77c245d90 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/ContactListEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/ContactListEvent.kt @@ -346,7 +346,7 @@ class UserMetadata { } @Stable -data class ImmutableListOfLists(val lists: Array>) +class ImmutableListOfLists(val lists: Array>) val EmptyTagList = ImmutableListOfLists(emptyArray())