From 3cb91296ca7a67f68c959d003eac69dbeed29301 Mon Sep 17 00:00:00 2001 From: Jkorf Date: Tue, 22 Oct 2024 09:47:14 +0200 Subject: [PATCH] Added DoHandleReset method for websocket subscriptions --- CryptoExchange.Net/Sockets/SocketConnection.cs | 4 ++-- CryptoExchange.Net/Sockets/Subscription.cs | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CryptoExchange.Net/Sockets/SocketConnection.cs b/CryptoExchange.Net/Sockets/SocketConnection.cs index fd0fbdf..ab28d2d 100644 --- a/CryptoExchange.Net/Sockets/SocketConnection.cs +++ b/CryptoExchange.Net/Sockets/SocketConnection.cs @@ -268,7 +268,7 @@ namespace CryptoExchange.Net.Sockets lock (_listenersLock) { foreach (var subscription in _listeners.OfType().Where(l => l.UserSubscription)) - subscription.Confirmed = false; + subscription.Reset(); foreach (var query in _listeners.OfType().ToList()) { @@ -293,7 +293,7 @@ namespace CryptoExchange.Net.Sockets lock (_listenersLock) { foreach (var subscription in _listeners.OfType().Where(l => l.UserSubscription)) - subscription.Confirmed = false; + subscription.Reset(); foreach (var query in _listeners.OfType().ToList()) { diff --git a/CryptoExchange.Net/Sockets/Subscription.cs b/CryptoExchange.Net/Sockets/Subscription.cs index 2f68fbe..2f12581 100644 --- a/CryptoExchange.Net/Sockets/Subscription.cs +++ b/CryptoExchange.Net/Sockets/Subscription.cs @@ -130,6 +130,20 @@ namespace CryptoExchange.Net.Sockets return Task.FromResult(DoHandleMessage(connection, message)); } + /// + /// Reset the subscription + /// + public void Reset() + { + Confirmed = false; + DoHandleReset(); + } + + /// + /// Connection has been reset, do any logic for resetting the subscription + /// + public virtual void DoHandleReset() { } + /// /// Handle the update message ///