Instant heartbeat support

This commit is contained in:
Kecskeméti László 2024-07-24 11:44:09 +02:00
parent ad7597379a
commit 79dda056b1
2 changed files with 12 additions and 0 deletions

View File

@ -96,6 +96,10 @@ public abstract class AbstractGateway {
InstantHeartbeatCts?.Cancel();
}
protected void ImmediateHeartbeat(){
InstantHeartbeatCts?.Cancel();
}
#endregion
public virtual async Task Close(){

View File

@ -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(){