1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-06-07 16:06:15 +00:00

Revert "Test some changes for robustness"

This reverts commit 1c33e297e71f6ba3e7eff98703e36f27c971855c.
This commit is contained in:
JKorf 2023-04-01 18:55:48 +02:00
parent d0a2288910
commit cf2b57bb96
2 changed files with 11 additions and 59 deletions

View File

@ -211,16 +211,8 @@ namespace CryptoExchange.Net.Sockets
while (_closeTask == null) while (_closeTask == null)
await Task.Delay(50).ConfigureAwait(false); await Task.Delay(50).ConfigureAwait(false);
await _closeSem.WaitAsync().ConfigureAwait(false);
try
{
await _closeTask.ConfigureAwait(false); await _closeTask.ConfigureAwait(false);
_closeTask = null; _closeTask = null;
}
finally
{
_closeSem.Release();
}
if (!Parameters.AutoReconnect) if (!Parameters.AutoReconnect)
{ {
@ -293,20 +285,9 @@ namespace CryptoExchange.Net.Sockets
return; return;
_log.Write(LogLevel.Debug, $"Socket {Id} reconnect requested"); _log.Write(LogLevel.Debug, $"Socket {Id} reconnect requested");
await _closeSem.WaitAsync().ConfigureAwait(false);
try
{
if (_processState != ProcessState.Processing)
return;
_closeTask = CloseInternalAsync(); _closeTask = CloseInternalAsync();
await _closeTask.ConfigureAwait(false); await _closeTask.ConfigureAwait(false);
} }
finally
{
_closeSem.Release();
}
}
/// <inheritdoc /> /// <inheritdoc />
public virtual async Task CloseAsync() public virtual async Task CloseAsync()
@ -449,19 +430,8 @@ namespace CryptoExchange.Net.Sockets
{ {
// Connection closed unexpectedly, .NET framework // Connection closed unexpectedly, .NET framework
OnError?.Invoke(ioe); OnError?.Invoke(ioe);
await _closeSem.WaitAsync().ConfigureAwait(false);
try
{
if (_processState != ProcessState.Processing)
return;
if (_closeTask?.IsCompleted != false) if (_closeTask?.IsCompleted != false)
_closeTask = CloseInternalAsync(); _closeTask = CloseInternalAsync();
}
catch
{
_closeSem.Release();
}
break; break;
} }
} }
@ -518,17 +488,8 @@ namespace CryptoExchange.Net.Sockets
{ {
// Connection closed unexpectedly // Connection closed unexpectedly
OnError?.Invoke(wse); OnError?.Invoke(wse);
await _closeSem.WaitAsync().ConfigureAwait(false); if (_closeTask?.IsCompleted != false)
try
{
if (_processState == ProcessState.Processing && _closeTask?.IsCompleted != false)
_closeTask = CloseInternalAsync(); _closeTask = CloseInternalAsync();
}
catch
{
_closeSem.Release();
}
break; break;
} }
@ -536,17 +497,8 @@ namespace CryptoExchange.Net.Sockets
{ {
// Connection closed unexpectedly // Connection closed unexpectedly
_log.Write(LogLevel.Debug, $"Socket {Id} received `Close` message"); _log.Write(LogLevel.Debug, $"Socket {Id} received `Close` message");
await _closeSem.WaitAsync().ConfigureAwait(false); if (_closeTask?.IsCompleted != false)
try
{
if (_processState == ProcessState.Processing && _closeTask?.IsCompleted != false)
_closeTask = CloseInternalAsync(); _closeTask = CloseInternalAsync();
}
catch
{
_closeSem.Release();
}
break; break;
} }

View File

@ -253,7 +253,7 @@ namespace CryptoExchange.Net.Sockets
var reconnectSuccessful = await ProcessReconnectAsync().ConfigureAwait(false); var reconnectSuccessful = await ProcessReconnectAsync().ConfigureAwait(false);
if (!reconnectSuccessful) if (!reconnectSuccessful)
{ {
_log.Write(LogLevel.Warning, $"Failed reconnect processing: {reconnectSuccessful.Error}, reconnecting again"); _log.Write(LogLevel.Warning, "Failed reconnect processing, reconnecting again");
await _socket.ReconnectAsync().ConfigureAwait(false); await _socket.ReconnectAsync().ConfigureAwait(false);
} }
else else