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

Added CallResult.SuccessResult as static object for use instead of new CallResult(null)

This commit is contained in:
Jkorf 2025-03-05 15:03:09 +01:00
parent 1999a27b41
commit 48d3e15f39
10 changed files with 23 additions and 18 deletions

View File

@ -341,7 +341,7 @@ namespace CryptoExchange.Net.Clients
} }
} }
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <summary> /// <summary>

View File

@ -377,7 +377,7 @@ namespace CryptoExchange.Net.Clients
protected virtual async Task<CallResult> ConnectIfNeededAsync(SocketConnection socket, bool authenticated) protected virtual async Task<CallResult> ConnectIfNeededAsync(SocketConnection socket, bool authenticated)
{ {
if (socket.Connected) if (socket.Connected)
return new CallResult(null); return CallResult.SuccessResult;
var connectResult = await ConnectSocketAsync(socket).ConfigureAwait(false); var connectResult = await ConnectSocketAsync(socket).ConfigureAwait(false);
if (!connectResult) if (!connectResult)
@ -387,7 +387,7 @@ namespace CryptoExchange.Net.Clients
await Task.Delay(ClientOptions.DelayAfterConnect).ConfigureAwait(false); await Task.Delay(ClientOptions.DelayAfterConnect).ConfigureAwait(false);
if (!authenticated || socket.Authenticated) if (!authenticated || socket.Authenticated)
return new CallResult(null); return CallResult.SuccessResult;
var result = await AuthenticateSocketAsync(socket).ConfigureAwait(false); var result = await AuthenticateSocketAsync(socket).ConfigureAwait(false);
if (!result) if (!result)
@ -426,7 +426,7 @@ namespace CryptoExchange.Net.Clients
} }
socket.Authenticated = true; socket.Authenticated = true;
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <summary> /// <summary>
@ -474,7 +474,7 @@ namespace CryptoExchange.Net.Clients
/// <returns></returns> /// <returns></returns>
protected internal virtual Task<CallResult> RevitalizeRequestAsync(Subscription subscription) protected internal virtual Task<CallResult> RevitalizeRequestAsync(Subscription subscription)
{ {
return Task.FromResult(new CallResult(null)); return Task.FromResult(CallResult.SuccessResult);
} }
/// <summary> /// <summary>
@ -711,7 +711,7 @@ namespace CryptoExchange.Net.Clients
return new CallResult(connectResult.Error!); return new CallResult(connectResult.Error!);
} }
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@ -276,7 +276,7 @@ namespace CryptoExchange.Net.Converters.SystemTextJson
{ {
_document = await JsonDocument.ParseAsync(_stream ?? stream).ConfigureAwait(false); _document = await JsonDocument.ParseAsync(_stream ?? stream).ConfigureAwait(false);
IsJson = true; IsJson = true;
return new CallResult(null); return CallResult.SuccessResult;
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -339,7 +339,7 @@ namespace CryptoExchange.Net.Converters.SystemTextJson
_document = JsonDocument.Parse(data); _document = JsonDocument.Parse(data);
IsJson = true; IsJson = true;
return new CallResult(null); return CallResult.SuccessResult;
} }
catch (Exception ex) catch (Exception ex)
{ {

View File

@ -13,6 +13,11 @@ namespace CryptoExchange.Net.Objects
/// </summary> /// </summary>
public class CallResult public class CallResult
{ {
/// <summary>
/// Static success result
/// </summary>
public static CallResult SuccessResult { get; } = new CallResult(null);
/// <summary> /// <summary>
/// An error if the call didn't succeed, will always be filled if Success = false /// An error if the call didn't succeed, will always be filled if Success = false
/// </summary> /// </summary>
@ -149,7 +154,7 @@ namespace CryptoExchange.Net.Objects
/// <returns></returns> /// <returns></returns>
public CallResult AsDataless() public CallResult AsDataless()
{ {
return new CallResult(null); return SuccessResult;
} }
/// <summary> /// <summary>

View File

@ -146,7 +146,7 @@ namespace CryptoExchange.Net.RateLimiting
} }
} }
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@ -263,7 +263,7 @@ namespace CryptoExchange.Net.Sockets
} }
_logger.SocketConnected(Id, Uri); _logger.SocketConnected(Id, Uri);
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@ -184,7 +184,7 @@ namespace CryptoExchange.Net.Sockets
{ {
var typedMessage = message.As((TServerResponse)message.Data); var typedMessage = message.As((TServerResponse)message.Data);
if (!ValidateMessage(typedMessage)) if (!ValidateMessage(typedMessage))
return new CallResult(null); return CallResult.SuccessResult;
CurrentResponses++; CurrentResponses++;
if (CurrentResponses == RequiredResponses) if (CurrentResponses == RequiredResponses)

View File

@ -856,7 +856,7 @@ namespace CryptoExchange.Net.Sockets
if (!_socket.Send(requestId, data, weight)) if (!_socket.Send(requestId, data, weight))
return new CallResult(new WebError("Failed to send message, connection not open")); return new CallResult(new WebError("Failed to send message, connection not open"));
return new CallResult(null); return CallResult.SuccessResult;
} }
catch(Exception ex) catch(Exception ex)
{ {
@ -879,7 +879,7 @@ namespace CryptoExchange.Net.Sockets
// No need to resubscribe anything // No need to resubscribe anything
_logger.NothingToResubscribeCloseConnection(SocketId); _logger.NothingToResubscribeCloseConnection(SocketId);
_ = _socket.CloseAsync(); _ = _socket.CloseAsync();
return new CallResult(null); return CallResult.SuccessResult;
} }
} }
@ -966,7 +966,7 @@ namespace CryptoExchange.Net.Sockets
return new CallResult(new WebError("Socket not connected")); return new CallResult(new WebError("Socket not connected"));
_logger.AllSubscriptionResubscribed(SocketId); _logger.AllSubscriptionResubscribed(SocketId);
return new CallResult(null); return CallResult.SuccessResult;
} }
internal async Task UnsubscribeAsync(Subscription subscription) internal async Task UnsubscribeAsync(Subscription subscription)
@ -986,7 +986,7 @@ namespace CryptoExchange.Net.Sockets
var subQuery = subscription.GetSubQuery(this); var subQuery = subscription.GetSubQuery(this);
if (subQuery == null) if (subQuery == null)
return new CallResult(null); return CallResult.SuccessResult;
var result = await SendAndWaitQueryAsync(subQuery).ConfigureAwait(false); var result = await SendAndWaitQueryAsync(subQuery).ConfigureAwait(false);
subscription.HandleSubQueryResponse(subQuery.Response!); subscription.HandleSubQueryResponse(subQuery.Response!);

View File

@ -190,7 +190,7 @@ namespace CryptoExchange.Net.Trackers.Klines
_updateSubscription.ConnectionRestored += HandleConnectionRestored; _updateSubscription.ConnectionRestored += HandleConnectionRestored;
Status = SyncStatus.Synced; Status = SyncStatus.Synced;
_logger.KlineTrackerStarted(SymbolName); _logger.KlineTrackerStarted(SymbolName);
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <inheritdoc /> /// <inheritdoc />

View File

@ -213,7 +213,7 @@ namespace CryptoExchange.Net.Trackers.Trades
_updateSubscription.ConnectionRestored += HandleConnectionRestored; _updateSubscription.ConnectionRestored += HandleConnectionRestored;
SetSyncStatus(); SetSyncStatus();
_logger.TradeTrackerStarted(SymbolName); _logger.TradeTrackerStarted(SymbolName);
return new CallResult(null); return CallResult.SuccessResult;
} }
/// <inheritdoc /> /// <inheritdoc />