summaryrefslogtreecommitdiff
path: root/Announcer.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Announcer.hs')
-rw-r--r--Announcer.hs7
1 files changed, 4 insertions, 3 deletions
diff --git a/Announcer.hs b/Announcer.hs
index f19f8d46..2f0eca10 100644
--- a/Announcer.hs
+++ b/Announcer.hs
@@ -64,7 +64,7 @@ stopAnnouncer announcer = do
64 interruptDelay (interrutible announcer) 64 interruptDelay (interrutible announcer)
65 atomically $ readTVar (announcerActive announcer) >>= check . not 65 atomically $ readTVar (announcerActive announcer) >>= check . not
66 66
67data AnnounceMethod r = forall nid ni addr tok a. 67data AnnounceMethod r = forall nid ni sr addr tok a.
68 ( Show nid 68 ( Show nid
69 , Hashable nid 69 , Hashable nid
70 , Hashable ni 70 , Hashable ni
@@ -72,7 +72,7 @@ data AnnounceMethod r = forall nid ni addr tok a.
72 , Ord nid 72 , Ord nid
73 , Ord ni 73 , Ord ni
74 ) => AnnounceMethod 74 ) => AnnounceMethod
75 { aSearch :: Search nid addr tok ni r 75 { aSearch :: Search nid addr tok ni sr
76 , aPublish :: r -> tok -> Maybe ni -> IO (Maybe a) 76 , aPublish :: r -> tok -> Maybe ni -> IO (Maybe a)
77 , aBuckets :: TVar (R.BucketList ni) 77 , aBuckets :: TVar (R.BucketList ni)
78 , aTarget :: nid 78 , aTarget :: nid
@@ -86,7 +86,8 @@ schedule announcer k AnnounceMethod{aSearch,aPublish,aBuckets,aTarget,aInterval}
86 is <- atomically $ do 86 is <- atomically $ do
87 bs <- readTVar (searchInformant st {- :: TVar (MinMaxPSQ' ni nid tok -}) 87 bs <- readTVar (searchInformant st {- :: TVar (MinMaxPSQ' ni nid tok -})
88 return $ MM.toList bs 88 return $ MM.toList bs
89 forM_ is $ \(Binding ni tok _) -> do 89 forM_ is $ \(Binding ni mtok _) -> do
90 forM_ mtok $ \tok -> do
90 aPublish r tok (Just ni) 91 aPublish r tok (Just ni)
91 return () 92 return ()
92 onResult _ = return True -- action for each search-hit (True = keep searching) 93 onResult _ = return True -- action for each search-hit (True = keep searching)