Instant heartbeat support
This commit is contained in:
parent
ad7597379a
commit
79dda056b1
@ -96,6 +96,10 @@ public abstract class AbstractGateway {
|
||||
InstantHeartbeatCts?.Cancel();
|
||||
}
|
||||
|
||||
protected void ImmediateHeartbeat(){
|
||||
InstantHeartbeatCts?.Cancel();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
public virtual async Task Close(){
|
||||
|
||||
@ -78,6 +78,9 @@ public class GatewayClient : AbstractGateway {
|
||||
case InvalidSessionPacket invalidSessionPacket:
|
||||
InvalidSessionHandler(invalidSessionPacket);
|
||||
break;
|
||||
case HeartbeatPacket:
|
||||
HeartbeatPacketHandler();
|
||||
break;
|
||||
default:
|
||||
Log.Debug("GATEWAY: Packet not handled {opcode}", packet.Op);
|
||||
break;
|
||||
@ -126,6 +129,11 @@ public class GatewayClient : AbstractGateway {
|
||||
Log.Debug("GATEWAY: Resume url: {url}", packet.Data.ResumeGatewayUrl);
|
||||
}
|
||||
|
||||
private void HeartbeatPacketHandler(){
|
||||
ImmediateHeartbeat();
|
||||
Log.Debug("GATEWAY: Remote requested immediate heartbeat");
|
||||
}
|
||||
|
||||
protected override Task SendHeartbeat()
|
||||
{
|
||||
HeartbeatPacket packet = new(){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user