agent: remove service queue association when service ID changed, process ENDS event, test migrating to/from service (#1677)

* agent: remove service queue association when service ID changed

* agent: process ENDS event

* agent: send service subscription error event

* agent: test migrating to/from service subscriptions, fixes

* agent: always remove service when disabled, fix service subscriptions
This commit is contained in:
Evgeny
2025-12-19 21:10:12 +00:00
committed by GitHub
parent c8a72431c0
commit a1277bf6bf
11 changed files with 338 additions and 125 deletions
+3 -3
View File
@@ -502,7 +502,7 @@ newServerSubscribers = do
subQ <- newTQueueIO
queueSubscribers <- SubscribedClients <$> TM.emptyIO
serviceSubscribers <- SubscribedClients <$> TM.emptyIO
totalServiceSubs <- newTVarIO (0, noIdsHash)
totalServiceSubs <- newTVarIO (0, mempty)
subClients <- newTVarIO IS.empty
pendingEvents <- newTVarIO IM.empty
pure ServerSubscribers {subQ, queueSubscribers, serviceSubscribers, totalServiceSubs, subClients, pendingEvents}
@@ -513,8 +513,8 @@ newClient clientId qSize clientTHParams createdAt = do
ntfSubscriptions <- TM.emptyIO
serviceSubscribed <- newTVarIO False
ntfServiceSubscribed <- newTVarIO False
serviceSubsCount <- newTVarIO (0, noIdsHash)
ntfServiceSubsCount <- newTVarIO (0, noIdsHash)
serviceSubsCount <- newTVarIO (0, mempty)
ntfServiceSubsCount <- newTVarIO (0, mempty)
rcvQ <- newTBQueueIO qSize
sndQ <- newTBQueueIO qSize
msgQ <- newTBQueueIO qSize