X-Git-Url: https://git.rkrishnan.org/?p=functorrent.git;a=blobdiff_plain;f=src%2FFuncTorrent%2FTracker%2FUdp.hs;h=dfc1233a03934cd2a0ca36f920cca00016fb0767;hp=aaa99472b44c3a9d72f955afd0f35a5e8c05d534;hb=fceb1acb81be177e1d133ff533fa0a2ea17eddb6;hpb=62d42ca6d96392860b426ee1febc339fdf9954af diff --git a/src/FuncTorrent/Tracker/Udp.hs b/src/FuncTorrent/Tracker/Udp.hs index aaa9947..dfc1233 100644 --- a/src/FuncTorrent/Tracker/Udp.hs +++ b/src/FuncTorrent/Tracker/Udp.hs @@ -34,6 +34,7 @@ import Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as BC import Data.ByteString.Lazy (fromStrict, toStrict) import Data.Word (Word16, Word32, Word64) +import Network (PortNumber) import Network.Socket (Socket, Family( AF_INET ), SocketType( Datagram ), defaultProtocol, SockAddr(..), socket, close, getAddrInfo, addrAddress, SockAddr(..)) import Network.Socket.ByteString (sendTo, recvFrom) import System.Random (randomIO) @@ -208,7 +209,7 @@ startSession host port = do closeSession :: UDPTrackerHandle -> IO () closeSession (UDPTrackerHandle s _ _) = close s -trackerLoop :: String -> Port -> String -> ByteString -> FS.MsgChannel -> TState -> IO () +trackerLoop :: String -> PortNumber -> String -> ByteString -> FS.MsgChannel -> TState -> IO () trackerLoop url sport peerId infohash fschan tstate = forever $ do st <- readMVar <$> FS.getStats fschan up <- fmap FS.bytesRead st