diff options
Diffstat (limited to 'Assistant/Types')
-rw-r--r-- | Assistant/Types/NetMessager.hs | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/Assistant/Types/NetMessager.hs b/Assistant/Types/NetMessager.hs index 525ff29f2..4b4e614a2 100644 --- a/Assistant/Types/NetMessager.hs +++ b/Assistant/Types/NetMessager.hs @@ -11,15 +11,15 @@ import Common.Annex import Assistant.Pairing import Git.Types +import qualified Data.Text as T +import qualified Data.Set as S +import qualified Data.Map as M +import qualified Data.DList as D import Control.Concurrent.STM import Control.Concurrent.MSampleVar import Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as B8 import Data.Text (Text) -import qualified Data.Text as T -import qualified Data.Set as S -import qualified Data.Map as M -import qualified Data.DList as D {- Messages that can be sent out of band by a network messager. -} data NetMessage @@ -130,15 +130,11 @@ data NetMessager = NetMessager , sentImportantNetMessages :: TMVar (M.Map ClientID (S.Set NetMessage)) -- write to this to restart the net messager , netMessagerRestart :: MSampleVar () - -- only one side of a push can be running at a time - -- the TMVars are empty when nothing is running - , netMessagerPushRunning :: SideMap (TMVar ClientID) - -- number of threads trying to push to the same client - -- at the same time (either running, or waiting to run) - , netMessagerPushThreadCount :: SideMap (TVar (M.Map ClientID Int)) - -- incoming messages containing data for a push, - -- on a per-client and per-side basis - , netMessagesInboxes :: SideMap Inboxes + -- queue of incoming messages that request the initiation of pushes + , netMessagerPushInitiations :: SideMap (TMVar [NetMessage]) + -- incoming messages containing data for a running + -- (or not yet started) push + , netMessagerInboxes :: SideMap Inboxes } newNetMessager :: IO NetMessager @@ -149,4 +145,3 @@ newNetMessager = NetMessager <*> newEmptySV <*> mkSideMap newEmptyTMVar <*> mkSideMap (newTVar M.empty) - <*> mkSideMap (newTVar M.empty) |