mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-01-11 19:44:44 +00:00
#94 adds null check in timer callback and stops timer on user disconnect call
This commit is contained in:
@@ -284,9 +284,17 @@ namespace PepperDash.Core
|
||||
/// </summary>
|
||||
public void Disconnect()
|
||||
{
|
||||
DisconnectCalledByUser = true;
|
||||
|
||||
// Stop trying reconnects, if we are
|
||||
if (RetryTimer != null)
|
||||
{
|
||||
RetryTimer.Stop();
|
||||
RetryTimer = null;
|
||||
}
|
||||
|
||||
if (Client != null)
|
||||
{
|
||||
DisconnectCalledByUser = true;
|
||||
DisconnectClient();
|
||||
Client = null;
|
||||
Debug.Console(1, this, "Disconnected");
|
||||
@@ -329,7 +337,15 @@ namespace PepperDash.Core
|
||||
Debug.Console(1, this, "Attempting reconnect, status={0}", Client.ClientStatus);
|
||||
|
||||
if (!DisconnectCalledByUser)
|
||||
RetryTimer = new CTimer(o => { Client.ConnectToServerAsync(ConnectToServerCallback); }, AutoReconnectIntervalMs);
|
||||
RetryTimer = new CTimer(o =>
|
||||
{
|
||||
if (Client == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Client.ConnectToServerAsync(ConnectToServerCallback);
|
||||
}, AutoReconnectIntervalMs);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user