From 926802d953d57614cf095d33728b07a6eedcbe20 Mon Sep 17 00:00:00 2001 From: JKorf Date: Wed, 20 Mar 2024 12:03:19 +0100 Subject: [PATCH] Fix for HandleUpdatesBeforeConfirmation if set on subscription itself --- CryptoExchange.Net/Clients/SocketApiClient.cs | 2 +- CryptoExchange.Net/Sockets/SocketConnection.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CryptoExchange.Net/Clients/SocketApiClient.cs b/CryptoExchange.Net/Clients/SocketApiClient.cs index a0928ad..85e203f 100644 --- a/CryptoExchange.Net/Clients/SocketApiClient.cs +++ b/CryptoExchange.Net/Clients/SocketApiClient.cs @@ -208,7 +208,7 @@ namespace CryptoExchange.Net.Clients return socketResult.As(null); socketConnection = socketResult.Data; - subscription.HandleUpdatesBeforeConfirmation = HandleMessageBeforeConfirmation; + subscription.HandleUpdatesBeforeConfirmation = subscription.HandleUpdatesBeforeConfirmation || HandleMessageBeforeConfirmation; // Add a subscription on the socket connection var success = socketConnection.AddSubscription(subscription); diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs index 4d18ecb..1a1382e 100644 --- a/CryptoExchange.Net/Sockets/SocketConnection.cs +++ b/CryptoExchange.Net/Sockets/SocketConnection.cs @@ -406,7 +406,7 @@ namespace CryptoExchange.Net.Sockets { List listenerIds; lock (_listenersLock) - listenerIds = _listeners.SelectMany(l => l.ListenerIdentifiers).ToList(); + listenerIds = _listeners.Where(l => l.CanHandleData).SelectMany(l => l.ListenerIdentifiers).ToList(); _logger.LogWarning("[Sckt {SocketId}] received message not matched to any listener. ListenId: {ListenId}, current listeners: {ListenIds}", SocketId, listenId, listenerIds); UnhandledMessage?.Invoke(_accessor); }