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