From fe22d9b299f106fc4a3d167e90499ddb4d3bfa26 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Tue, 4 Jul 2023 22:54:45 +0100 Subject: [PATCH] agent api to reconnect all servers (#792) --- src/Simplex/Messaging/Agent.hs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/Simplex/Messaging/Agent.hs b/src/Simplex/Messaging/Agent.hs index e899d6a12..623fcc1f1 100644 --- a/src/Simplex/Messaging/Agent.hs +++ b/src/Simplex/Messaging/Agent.hs @@ -75,6 +75,7 @@ module Simplex.Messaging.Agent setNtfServers, setNetworkConfig, getNetworkConfig, + reconnectAllServers, registerNtfToken, verifyNtfToken, checkNtfToken, @@ -316,13 +317,16 @@ setNetworkConfig :: MonadUnliftIO m => AgentClient -> NetworkConfig -> m () setNetworkConfig c cfg' = do cfg <- atomically $ do swapTVar (useNetworkConfig c) cfg' - liftIO . when (cfg /= cfg') $ do - closeProtocolServerClients c smpClients - closeProtocolServerClients c ntfClients + when (cfg /= cfg') $ reconnectAllServers c getNetworkConfig :: AgentErrorMonad m => AgentClient -> m NetworkConfig getNetworkConfig = readTVarIO . useNetworkConfig +reconnectAllServers :: MonadUnliftIO m => AgentClient -> m () +reconnectAllServers c = liftIO $ do + closeProtocolServerClients c smpClients + closeProtocolServerClients c ntfClients + -- | Register device notifications token registerNtfToken :: AgentErrorMonad m => AgentClient -> DeviceToken -> NotificationsMode -> m NtfTknStatus registerNtfToken c = withAgentEnv c .: registerNtfToken' c