]> git.rkrishnan.org Git - functorrent.git/blobdiff - src/FuncTorrent/Tracker.hs
more hlint cleanups
[functorrent.git] / src / FuncTorrent / Tracker.hs
index ac99ce288d23b208319abf0972a8c78255b1c0f9..b9e977acff1bea112cfc1090ac5f93c85b0cc6a9 100644 (file)
@@ -29,14 +29,13 @@ import Control.Concurrent.Chan (Chan, newChan, readChan, writeChan)
 import Control.Concurrent.MVar (newEmptyMVar, putMVar, readMVar)
 import Control.Monad.State (StateT, liftIO, get, runStateT)
 import Control.Monad (forever)
 import Control.Concurrent.MVar (newEmptyMVar, putMVar, readMVar)
 import Control.Monad.State (StateT, liftIO, get, runStateT)
 import Control.Monad (forever)
-import Data.ByteString.Char8 (ByteString, pack, unpack)
+import Data.ByteString.Char8 (ByteString)
 import Data.List (isPrefixOf)
 import Network (PortNumber)
 
 import qualified FuncTorrent.Tracker.Http as HT (trackerLoop)
 import qualified FuncTorrent.Tracker.Udp as UT (trackerLoop)
 import FuncTorrent.Tracker.Types (TState(..), TrackerEventState(..), TrackerProtocol(..), TrackerMsg(..))
 import Data.List (isPrefixOf)
 import Network (PortNumber)
 
 import qualified FuncTorrent.Tracker.Http as HT (trackerLoop)
 import qualified FuncTorrent.Tracker.Udp as UT (trackerLoop)
 import FuncTorrent.Tracker.Types (TState(..), TrackerEventState(..), TrackerProtocol(..), TrackerMsg(..))
-import FuncTorrent.Utils (Port, toPort, getHostname)
 import qualified FuncTorrent.FileSystem as FS (MsgChannel)
 import FuncTorrent.PeerMsgs (Peer)
 
 import qualified FuncTorrent.FileSystem as FS (MsgChannel)
 import FuncTorrent.PeerMsgs (Peer)
 
@@ -48,12 +47,13 @@ newTracker = newChan
 runTracker :: MsgChannel -> FS.MsgChannel -> ByteString -> PortNumber
            -> String -> [String] -> Integer -> IO ()
 runTracker msgChannel fsChan infohash port peerId announceList sz = do
 runTracker :: MsgChannel -> FS.MsgChannel -> ByteString -> PortNumber
            -> String -> [String] -> Integer -> IO ()
 runTracker msgChannel fsChan infohash port peerId announceList sz = do
+  let fn = getTrackerLoopFn turl
   ps <- newEmptyMVar
   ps <- newEmptyMVar
-  forkIO $ (getTrackerLoopFn turl) turl port peerId infohash fsChan (initialTState ps)
-  runStateT (msgHandler msgChannel) (initialTState ps)
+  _ <- forkIO $ fn turl port peerId infohash fsChan (initialTState ps)
+  _ <- runStateT (msgHandler msgChannel) (initialTState ps)
   return ()
   return ()
-    where getTrackerLoopFn turl =
-            case getTrackerType turl of
+    where getTrackerLoopFn turl' =
+            case getTrackerType turl' of
               Http -> HT.trackerLoop
               Udp -> UT.trackerLoop
               _ -> error "Tracker Protocol unimplemented"
               Http -> HT.trackerLoop
               Udp -> UT.trackerLoop
               _ -> error "Tracker Protocol unimplemented"