packages feed

Hermes 0.0.1 → 0.0.2

raw patch · 3 files changed

+4/−4 lines, 3 files

Files

Hermes.cabal view
@@ -3,7 +3,7 @@ Description: A middleware providing best-effort unicast, remote procedure calls,              probabilistic (and slow!) broadcast and automatic membership              management, meant for small to medium networks-Version: 0.0.1+Version: 0.0.2 License: BSD3 Author: Svein Ove Aas <svein.ove@aas.no> Maintainer: Svein Ove Aas <svein.ove@aas.no>
Network/Hermes.hs view
@@ -89,8 +89,7 @@ -- | Creates a new Hermes context allowing messaging, RPC and gossip, -- and using automatic address dissemination via the gossip protocol. ----- The trust level defaults to Indirect. If you set it to Direct,--- address dissemination will fail.+-- The trust level defaults to Indirect. -- -- The gossip interval defaults to 300 seconds, call setPeriod to -- change it.
Network/Hermes/Address.hs view
@@ -34,11 +34,12 @@ startAddresser core gossip = (fmap (const ()) . forkIO) $ do   mbox <- newEmptyMVar   -- A listener to check for and insert new addresses-  listenTVar (listeners core) $ \ls -> +  listenTVar (listeners core) $ \ls -> do     unless (S.null ls) $ do       let address = remoteAddress $ S.findMin ls       noticeM "hermes.address" $ "Updating our address to " ++ show address       writeFactoid gossip (AGossip address) () Nothing+      atomically $ modifyTVar (peerAddress core) (M.insert (myHermesID core) address)   -- And one to handle incoming address updates   addCallback gossip $ \source () AGossip{..} -> do     noticeM "hermes.address" $ "Updating address for " ++ show source ++ " to " ++ show agAddress