Fixed reconnect logic
This commit is contained in:
@@ -234,6 +234,8 @@ namespace Discord
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
private async Task ReconnectInternalAsync()
|
private async Task ReconnectInternalAsync()
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
int nextReconnectDelay = 1000;
|
int nextReconnectDelay = 1000;
|
||||||
while (_isReconnecting)
|
while (_isReconnecting)
|
||||||
@@ -256,9 +258,14 @@ namespace Discord
|
|||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
await _gatewayLogger.WarningAsync("Reconnect failed", ex).ConfigureAwait(false);
|
await _gatewayLogger.WarningAsync("Reconnect failed", ex).ConfigureAwait(false);
|
||||||
|
} }
|
||||||
}
|
}
|
||||||
}
|
finally
|
||||||
|
{
|
||||||
|
_isReconnecting = false;
|
||||||
_reconnectTask = null;
|
_reconnectTask = null;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
@@ -397,6 +404,7 @@ namespace Discord
|
|||||||
await ApiClient.SendResumeAsync(_sessionId, _lastSeq).ConfigureAwait(false);
|
await ApiClient.SendResumeAsync(_sessionId, _lastSeq).ConfigureAwait(false);
|
||||||
else
|
else
|
||||||
await ApiClient.SendIdentifyAsync().ConfigureAwait(false);
|
await ApiClient.SendIdentifyAsync().ConfigureAwait(false);
|
||||||
|
_heartbeatTime = 0;
|
||||||
_heartbeatTask = RunHeartbeatAsync(data.HeartbeatInterval, _heartbeatCancelToken.Token);
|
_heartbeatTask = RunHeartbeatAsync(data.HeartbeatInterval, _heartbeatCancelToken.Token);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user