summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Network/BitTorrent.hs1
-rw-r--r--src/Network/BitTorrent/Client.hs1
-rw-r--r--src/Network/BitTorrent/Exchange.hs4
-rw-r--r--src/Network/BitTorrent/Exchange/Session.hs4
4 files changed, 10 insertions, 0 deletions
diff --git a/src/Network/BitTorrent.hs b/src/Network/BitTorrent.hs
index 154ab63a..319e66a1 100644
--- a/src/Network/BitTorrent.hs
+++ b/src/Network/BitTorrent.hs
@@ -40,6 +40,7 @@ module Network.BitTorrent
40 , Handle 40 , Handle
41 , handleTopic 41 , handleTopic
42 , handleTrackers 42 , handleTrackers
43 , handleExchange
43 44
44 , TorrentSource(openHandle) 45 , TorrentSource(openHandle)
45 , closeHandle 46 , closeHandle
diff --git a/src/Network/BitTorrent/Client.hs b/src/Network/BitTorrent/Client.hs
index bdaf12a5..b9099736 100644
--- a/src/Network/BitTorrent/Client.hs
+++ b/src/Network/BitTorrent/Client.hs
@@ -31,6 +31,7 @@ module Network.BitTorrent.Client
31 , Handle 31 , Handle
32 , handleTopic 32 , handleTopic
33 , handleTrackers 33 , handleTrackers
34 , handleExchange
34 35
35 -- ** Construction 36 -- ** Construction
36 , TorrentSource (..) 37 , TorrentSource (..)
diff --git a/src/Network/BitTorrent/Exchange.hs b/src/Network/BitTorrent/Exchange.hs
index 8dac3c84..015bae3d 100644
--- a/src/Network/BitTorrent/Exchange.hs
+++ b/src/Network/BitTorrent/Exchange.hs
@@ -21,6 +21,10 @@ module Network.BitTorrent.Exchange
21 , newSession 21 , newSession
22 , closeSession 22 , closeSession
23 23
24 -- * Query
25 , waitMetadata
26 , takeMetadata
27
24 -- * Connections 28 -- * Connections
25 , connect 29 , connect
26 ) where 30 ) where
diff --git a/src/Network/BitTorrent/Exchange/Session.hs b/src/Network/BitTorrent/Exchange/Session.hs
index 8c3d5388..32f8eabd 100644
--- a/src/Network/BitTorrent/Exchange/Session.hs
+++ b/src/Network/BitTorrent/Exchange/Session.hs
@@ -18,6 +18,7 @@ module Network.BitTorrent.Exchange.Session
18 18
19 -- * Events 19 -- * Events
20 , waitMetadata 20 , waitMetadata
21 , takeMetadata
21 ) where 22 ) where
22 23
23import Control.Applicative 24import Control.Applicative
@@ -355,6 +356,9 @@ sendBroadcast msg = do
355waitMetadata :: Session -> IO InfoDict 356waitMetadata :: Session -> IO InfoDict
356waitMetadata Session {..} = cachedValue <$> readMVar infodict 357waitMetadata Session {..} = cachedValue <$> readMVar infodict
357 358
359takeMetadata :: Session -> IO (Maybe InfoDict)
360takeMetadata Session {..} = fmap cachedValue <$> tryReadMVar infodict
361
358{----------------------------------------------------------------------- 362{-----------------------------------------------------------------------
359-- Triggers 363-- Triggers
360-----------------------------------------------------------------------} 364-----------------------------------------------------------------------}