]> git.rkrishnan.org Git - functorrent.git/blobdiff - src/FuncTorrent/Server.hs
refactor the piecemap initialization
[functorrent.git] / src / FuncTorrent / Server.hs
index e675c6c1c4ee44ff9f460fb9b9bb48803814e4df..b78be297b935628a90bf10101f8dd836d0578042 100644 (file)
@@ -7,7 +7,7 @@ import Network (withSocketsDo, listenOn, accept, Socket, PortID ( PortNumber ))
 import System.IO (hSetBuffering, BufferMode ( NoBuffering ))
 
 import FuncTorrent.Metainfo (Metainfo)
-import FuncTorrent.Peer (handlePeerMsgs, Peer(..))
+import FuncTorrent.Peer (handlePeerMsgs, Peer(..), PieceMap)
 
 -- server is listening on any port from 6881 - 6889
 -- return the port number used
@@ -17,9 +17,9 @@ start = withSocketsDo $ do
   sock <- listenOn $ PortNumber $ fromIntegral (head portnums)
   return (sock, PortNumber $ head portnums)
 
-run :: Socket -> String -> Metainfo -> IO ()
-run listenSock peerid m = forever $ do
+run :: Socket -> String -> Metainfo -> PieceMap -> IO ()
+run listenSock peerid m pieceMap = forever $ do
   (handle, ip, port) <- accept listenSock
   let peer = Peer "" ip (fromIntegral port)
   hSetBuffering handle NoBuffering
-  forkIO $ handlePeerMsgs peer peerid m
+  forkIO $ handlePeerMsgs peer peerid m pieceMap