From 443d260e73c93d7c71fe314b2625264b5a3dcf8b Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 4 May 2024 20:33:48 +0100 Subject: [PATCH] add pending connection --- src/Simplex/Messaging/Agent/Client.hs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Simplex/Messaging/Agent/Client.hs b/src/Simplex/Messaging/Agent/Client.hs index 1d9470c9a..887e3629f 100644 --- a/src/Simplex/Messaging/Agent/Client.hs +++ b/src/Simplex/Messaging/Agent/Client.hs @@ -1245,6 +1245,11 @@ addSubscription c rq@RcvQueue {connId} = do RQ.addQueue rq $ activeSubs c RQ.deleteQueue rq $ pendingSubs c +addPendingSubscription :: AgentClient -> RcvQueue -> STM () +addPendingSubscription c rq@RcvQueue {connId} = do + modifyTVar' (subscrConns c) $ S.insert connId + RQ.addQueue rq $ pendingSubs c + addNewQueueSubscription :: AgentClient -> RcvQueue -> SMPTransportSession -> SessionId -> AM' () addNewQueueSubscription c rq tSess sessId = do same <- @@ -1252,7 +1257,7 @@ addNewQueueSubscription c rq tSess sessId = do ifM (activeClientSession c tSess sessId) (True <$ addSubscription c rq) - (False <$ RQ.addQueue rq (pendingSubs c)) + (False <$ addPendingSubscription c rq) unless same $ resubscribeSMPSession c tSess hasActiveSubscription :: AgentClient -> ConnId -> STM Bool