feat(gateway): handle heartbeat request by server

This commit is contained in:
Cilly Leang 2026-01-27 18:24:25 +11:00
parent b4856b49fb
commit ff2f4a0358
Signed by: cilly
GPG key ID: 6500251E087653C9

View file

@ -96,7 +96,7 @@ class GatewaySession private constructor(
when (val event = payload.d) {
is Event.Hello -> handleHello(event)
is Event.Ready -> handlers.ready.handle(event)
is Event.Heartbeat -> {}
is Event.Heartbeat -> handleHeartbeat()
is Event.HeartbeatAck -> { missedHeartbeats -= 1 }
}
}
@ -105,6 +105,12 @@ class GatewaySession private constructor(
logger.w { "Unknown payload $payload" }
}
private suspend fun handleHeartbeat() {
logger.w { "Received heartbeat from server, possible connection issue" }
Event.QoSHeartbeat(lastSeq).pack().send()
missedHeartbeats += 1
}
private suspend fun handleHello(e: Event.Hello) {
Event.Identify(token = token).pack().send()