sub stats

This commit is contained in:
spaced4ndy
2024-06-17 15:50:45 +04:00
parent a4a4143d87
commit 3dda144b3a
2 changed files with 5 additions and 2 deletions
+4 -2
View File
@@ -2173,13 +2173,15 @@ processSMPTransmissions c@AgentClient {subQ} (tSess@(_, srv, _), _v, sessId, ts)
Left e -> notify' connId (ERR e)
Right () -> pure ()
processSubOk :: RcvQueue -> TVar [ConnId] -> AM ()
processSubOk rq@RcvQueue {connId} upConnIds =
processSubOk rq@RcvQueue {userId, connId} upConnIds = do
atomically . whenM (isPendingSub connId) $ do
addSubscription c rq
modifyTVar' upConnIds (connId :)
atomically $ incSMPServerStat c userId srv connSubscribed 1
processSubErr :: RcvQueue -> SMPClientError -> AM ()
processSubErr rq@RcvQueue {connId} e = do
processSubErr rq@RcvQueue {userId, connId} e = do
atomically . whenM (isPendingSub connId) $ failSubscription c rq e
atomically $ incSMPServerStat c userId srv connSubErrs 1
lift $ notifyErr connId e
isPendingSub connId = (&&) <$> hasPendingSubscription c connId <*> activeClientSession c tSess sessId
notify' :: forall e m. (AEntityI e, MonadIO m) => ConnId -> AEvent e -> m ()
+1
View File
@@ -1395,6 +1395,7 @@ subscribeQueues c qs = do
pure $ if prohibited then Left (rq, Left $ CMD PROHIBITED "subscribeQueues") else Right rq
subscribeQueues_ :: Env -> TVar (Maybe SessionId) -> SMPClient -> NonEmpty RcvQueue -> IO (BatchResponses SMPClientError ())
subscribeQueues_ env session smp qs' = do
-- atomically $ incSMPServerStat c userId server connSubAttempts 1 -- ? use userId and server from the first queue?
rs <- sendBatch subscribeSMPQueues smp qs'
active <-
atomically $