summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/DHT/Query.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network/BitTorrent/DHT/Query.hs')
-rw-r--r--src/Network/BitTorrent/DHT/Query.hs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Network/BitTorrent/DHT/Query.hs b/src/Network/BitTorrent/DHT/Query.hs
index c5fcccb4..7f20ad6d 100644
--- a/src/Network/BitTorrent/DHT/Query.hs
+++ b/src/Network/BitTorrent/DHT/Query.hs
@@ -41,6 +41,7 @@ module Network.BitTorrent.DHT.Query
41 , publish 41 , publish
42 42
43 -- ** Routing table 43 -- ** Routing table
44 , restoreTable
44 , insertNode 45 , insertNode
45 , refreshNodes 46 , refreshNodes
46 47
@@ -266,3 +267,10 @@ queryNode addr q = do
266q <@> addr = snd <$> queryNode addr q 267q <@> addr = snd <$> queryNode addr q
267{-# INLINE (<@>) #-} 268{-# INLINE (<@>) #-}
268 269
270restoreTable :: Address ip => Table ip -> DHT ip ()
271restoreTable tbl = do
272 tblvar <- asks routingTable
273 tbl0 <- liftIO $ takeMVar tblvar
274 mb <- routing $ merge tbl tbl0
275 maybe (return ()) (liftIO . putMVar tblvar) mb
276