From a8ffe90bf28ccebb2bd48463ffc3945f63b1606f Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 10 Feb 2026 15:59:35 +0100 Subject: [PATCH] Added call to ApiClient.HandleUnhandledMessage when no websocket message processor is found based on topic to allow additional processing --- .../Sockets/Default/SocketConnection.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs index 2fbb129..d1e47a0 100644 --- a/CryptoExchange.Net/Sockets/Default/SocketConnection.cs +++ b/CryptoExchange.Net/Sockets/Default/SocketConnection.cs @@ -673,13 +673,16 @@ namespace CryptoExchange.Net.Sockets.Default if (!processed) { - lock (_listenersLock) + if (!ApiClient.HandleUnhandledMessage(this, typeIdentifier, data)) { - _logger.ReceivedMessageNotMatchedToAnyListener( - SocketId, - typeIdentifier, - topicFilter!, - string.Join(",", _listeners.Select(x => string.Join(",", x.MessageRouter.Routes.Where(x => x.TypeIdentifier == typeIdentifier).Select(x => x.TopicFilter != null ? string.Join(",", x.TopicFilter) : "[null]"))))); + lock (_listenersLock) + { + _logger.ReceivedMessageNotMatchedToAnyListener( + SocketId, + typeIdentifier, + topicFilter!, + string.Join(",", _listeners.Select(x => string.Join(",", x.MessageRouter.Routes.Where(x => x.TypeIdentifier == typeIdentifier).Select(x => x.TopicFilter != null ? string.Join(",", x.TopicFilter) : "[null]"))))); + } } } }