Hermes 0.0.1 → 0.0.2
raw patch · 3 files changed
+4/−4 lines, 3 files
Files
- Hermes.cabal +1/−1
- Network/Hermes.hs +1/−2
- Network/Hermes/Address.hs +2/−1
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