mirror of
https://github.com/PepperDash/PepperDashCore.git
synced 2026-02-16 05:04:48 +00:00
fix: added a finally block
added a finally block in case all else fails to switch out the connection status
This commit is contained in:
@@ -279,7 +279,7 @@ namespace PepperDash.Core
|
|||||||
|
|
||||||
Debug.Console(1, this, "Ingoring connection request while connect/disconnect in progress...");
|
Debug.Console(1, this, "Ingoring connection request while connect/disconnect in progress...");
|
||||||
if (!connectTimer.Disposed && AutoReconnect)
|
if (!connectTimer.Disposed && AutoReconnect)
|
||||||
connectTimer.Reset(10000);
|
connectTimer.Reset(AutoReconnectIntervalMs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -378,21 +378,30 @@ namespace PepperDash.Core
|
|||||||
|
|
||||||
private void DisconnectInternal(SocketStatus status)
|
private void DisconnectInternal(SocketStatus status)
|
||||||
{
|
{
|
||||||
DisposeOfStream();
|
try
|
||||||
DisposeOfClient();
|
|
||||||
DisposeOfAuthMethods();
|
|
||||||
|
|
||||||
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Disconnect Complete");
|
|
||||||
ClientStatus = status;
|
|
||||||
|
|
||||||
DisposeOfTimer(disconnectTimer);
|
|
||||||
if (!connectTimer.Disposed && AutoReconnect)
|
|
||||||
{
|
{
|
||||||
Debug.Console(1, this, "Autoreconnect try again soon");
|
DisposeOfStream();
|
||||||
connectTimer.Reset(AutoReconnectIntervalMs);
|
DisposeOfClient();
|
||||||
}
|
DisposeOfAuthMethods();
|
||||||
|
|
||||||
Interlocked.Exchange(ref connectionProgress, ConnectionProgress.Idle);
|
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Disconnect Complete");
|
||||||
|
ClientStatus = status;
|
||||||
|
|
||||||
|
DisposeOfTimer(disconnectTimer);
|
||||||
|
if (!connectTimer.Disposed && AutoReconnect)
|
||||||
|
{
|
||||||
|
Debug.Console(1, this, "Autoreconnect try again soon");
|
||||||
|
connectTimer.Reset(AutoReconnectIntervalMs);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Debug.Console(1, this, Debug.ErrorLogLevel.Notice, "Caught a general exception in disconnect:{0}", ex);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Interlocked.Exchange(ref connectionProgress, ConnectionProgress.Idle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DisposeOfAuthMethods()
|
private void DisposeOfAuthMethods()
|
||||||
|
|||||||
Reference in New Issue
Block a user