diff --git a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs
index d1e47a0..e2f4915 100644
--- a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs
+++ b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs
@@ -1103,6 +1103,12 @@ namespace CryptoExchange.Net.Sockets.Default
return CallResult.SuccessResult;
}
+ ///
+ /// Try to subscribe a new subscription by sending the subscribe query and wait for the result as needed
+ ///
+ /// The subscription
+ /// Whether this is a new subscription, or an existing subscription (resubscribing on reconnected socket)
+ /// Cancellation token
protected internal async Task TrySubscribeAsync(Subscription subscription, bool newSubscription, CancellationToken subCancelToken)
{
subscription.ConnectionInvocations = 0;
diff --git a/CryptoExchange.Net/Trackers/UserData/Objects/UserDataSymbolTracker.cs b/CryptoExchange.Net/Trackers/UserData/Objects/UserDataSymbolTracker.cs
index 36e3470..9ff50f8 100644
--- a/CryptoExchange.Net/Trackers/UserData/Objects/UserDataSymbolTracker.cs
+++ b/CryptoExchange.Net/Trackers/UserData/Objects/UserDataSymbolTracker.cs
@@ -7,6 +7,9 @@ using System.Text;
namespace CryptoExchange.Net.Trackers.UserData.Objects
{
+ ///
+ /// Tracker for symbols used in UserDataTracker
+ ///
public class UserDataSymbolTracker
{
private readonly ILogger _logger;
@@ -14,6 +17,9 @@ namespace CryptoExchange.Net.Trackers.UserData.Objects
private readonly bool _onlyTrackProvidedSymbols;
private readonly object _symbolLock = new object();
+ ///
+ /// ctor
+ ///
public UserDataSymbolTracker(ILogger logger, UserDataTrackerConfig config)
{
_logger = logger;
@@ -21,12 +27,19 @@ namespace CryptoExchange.Net.Trackers.UserData.Objects
_onlyTrackProvidedSymbols = config.OnlyTrackProvidedSymbols;
}
+ ///
+ /// Get currently tracked symbols
+ ///
+ ///
public IEnumerable GetTrackedSymbols()
{
lock (_symbolLock)
return _trackedSymbols.ToList();
}
+ ///
+ /// Check whether a symbol is in the tracked symbols list and should be processed
+ ///
public bool ShouldProcess(SharedSymbol symbol)
{
if (!_onlyTrackProvidedSymbols)
diff --git a/CryptoExchange.Net/Trackers/UserData/UserFuturesDataTracker.cs b/CryptoExchange.Net/Trackers/UserData/UserFuturesDataTracker.cs
index e081f78..b7366c5 100644
--- a/CryptoExchange.Net/Trackers/UserData/UserFuturesDataTracker.cs
+++ b/CryptoExchange.Net/Trackers/UserData/UserFuturesDataTracker.cs
@@ -177,7 +177,7 @@ namespace CryptoExchange.Net.Trackers.UserData
SymbolTracker.RemoveTrackedSymbol(symbol);
((FuturesOrderTracker)Orders).ClearDataForSymbol(symbol);
- ((FuturesUserTradeTracker)Trades).ClearDataForSymbol(symbol);
+ ((FuturesUserTradeTracker?)Trades)?.ClearDataForSymbol(symbol);
}
}
}
diff --git a/CryptoExchange.Net/Trackers/UserData/UserSpotDataTracker.cs b/CryptoExchange.Net/Trackers/UserData/UserSpotDataTracker.cs
index 212ac46..b71a700 100644
--- a/CryptoExchange.Net/Trackers/UserData/UserSpotDataTracker.cs
+++ b/CryptoExchange.Net/Trackers/UserData/UserSpotDataTracker.cs
@@ -150,7 +150,7 @@ namespace CryptoExchange.Net.Trackers.UserData
SymbolTracker.RemoveTrackedSymbol(symbol);
((SpotOrderTracker)Orders).ClearDataForSymbol(symbol);
- ((SpotUserTradeTracker)Trades).ClearDataForSymbol(symbol);
+ ((SpotUserTradeTracker?)Trades)?.ClearDataForSymbol(symbol);
}
}
}