Fixed reconnect logic

This commit is contained in:
RogueException
2016-06-13 15:03:45 -03:00
parent 4cc393f963
commit b703fba0b7

View File

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