diff options
Diffstat (limited to 'Announcer.hs')
-rw-r--r-- | Announcer.hs | 7 |
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 | ||
67 | data AnnounceMethod r = forall nid ni addr tok a. | 67 | data 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) |