summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/Exchange/Session.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Network/BitTorrent/Exchange/Session.hs')
-rw-r--r--src/Network/BitTorrent/Exchange/Session.hs12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/Network/BitTorrent/Exchange/Session.hs b/src/Network/BitTorrent/Exchange/Session.hs
index 30b7ed0e..2bd275bd 100644
--- a/src/Network/BitTorrent/Exchange/Session.hs
+++ b/src/Network/BitTorrent/Exchange/Session.hs
@@ -16,6 +16,7 @@ module Network.BitTorrent.Exchange.Session
16 16
17 -- * Connection Set 17 -- * Connection Set
18 , connect 18 , connect
19 , connectSink
19 , establish 20 , establish
20 21
21 -- * Query 22 -- * Query
@@ -29,12 +30,13 @@ import Control.Concurrent.Chan.Split as CS
29import Control.Concurrent.STM 30import Control.Concurrent.STM
30import Control.Exception hiding (Handler) 31import Control.Exception hiding (Handler)
31import Control.Lens 32import Control.Lens
33import Control.Monad as M
32import Control.Monad.Logger 34import Control.Monad.Logger
33import Control.Monad.Reader 35import Control.Monad.Reader
34import Data.ByteString as BS 36import Data.ByteString as BS
35import Data.ByteString.Lazy as BL 37import Data.ByteString.Lazy as BL
36import Data.Conduit 38import Data.Conduit as C
37import Data.Conduit.List as CL (iterM) 39import Data.Conduit.List as C
38import Data.Map as M 40import Data.Map as M
39import Data.Monoid 41import Data.Monoid
40import Data.Set as S 42import Data.Set as S
@@ -333,6 +335,12 @@ establish :: PendingConnection -> Session -> IO ()
333establish conn = runConnection (acceptWire conn) (closePending conn) 335establish conn = runConnection (acceptWire conn) (closePending conn)
334 (pendingPeer conn) 336 (pendingPeer conn)
335 337
338-- | Conduit version of 'connect'.
339connectSink :: MonadIO m => Session -> Sink [PeerAddr IPv4] m ()
340connectSink s = C.mapM_ (liftIO . connectBatch)
341 where
342 connectBatch = M.mapM_ (\ addr -> connect (IPv4 <$> addr) s)
343
336-- | Why do we need this message? 344-- | Why do we need this message?
337type BroadcastMessage = ExtendedCaps -> Message 345type BroadcastMessage = ExtendedCaps -> Message
338 346