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 e1ba964ad..4a95c0bed 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 @@ -47,6 +47,7 @@ class Relay( private var listeners = setOf() private var socket: WebSocket? = null private var isReady: Boolean = false + private var usingCompression: Boolean = false var eventDownloadCounterInBytes = 0 var eventUploadCounterInBytes = 0 @@ -118,7 +119,10 @@ class Relay( override fun onOpen(webSocket: WebSocket, response: Response) { checkNotInMainThread() - markConnectionAsReady(response.receivedResponseAtMillis - response.sentRequestAtMillis) + markConnectionAsReady( + pingInMs = response.receivedResponseAtMillis - response.sentRequestAtMillis, + usingCompression = response.headers.get("Sec-WebSocket-Extensions")?.contains("permessage-deflate") ?: false + ) // Log.w("Relay", "Relay OnOpen, Loading All subscriptions $url") onConnected(this@Relay) @@ -178,15 +182,17 @@ class Relay( } } - fun markConnectionAsReady(pingInMs: Long) { + fun markConnectionAsReady(pingInMs: Long, usingCompression: Boolean) { this.afterEOSE = false this.isReady = true this.pingInMs = pingInMs + this.usingCompression = usingCompression } fun markConnectionAsClosed() { this.socket = null this.isReady = false + this.usingCompression = false this.afterEOSE = false this.closingTimeInSeconds = TimeUtils.now() } @@ -242,6 +248,7 @@ class Relay( socket?.close(1000, "Normal close") socket = null isReady = false + usingCompression = false afterEOSE = false }