feat(gateway): handle heartbeat request by server
This commit is contained in:
parent
b4856b49fb
commit
ff2f4a0358
1 changed files with 7 additions and 1 deletions
|
|
@ -96,7 +96,7 @@ class GatewaySession private constructor(
|
||||||
when (val event = payload.d) {
|
when (val event = payload.d) {
|
||||||
is Event.Hello -> handleHello(event)
|
is Event.Hello -> handleHello(event)
|
||||||
is Event.Ready -> handlers.ready.handle(event)
|
is Event.Ready -> handlers.ready.handle(event)
|
||||||
is Event.Heartbeat -> {}
|
is Event.Heartbeat -> handleHeartbeat()
|
||||||
is Event.HeartbeatAck -> { missedHeartbeats -= 1 }
|
is Event.HeartbeatAck -> { missedHeartbeats -= 1 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -105,6 +105,12 @@ class GatewaySession private constructor(
|
||||||
logger.w { "Unknown payload $payload" }
|
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) {
|
private suspend fun handleHello(e: Event.Hello) {
|
||||||
Event.Identify(token = token).pack().send()
|
Event.Identify(token = token).pack().send()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue