1 {-# LANGUAGE OverloadedStrings #-}
2 module FuncTorrent.Tracker.Types
5 , TrackerEventState(..)
12 import Control.Concurrent.MVar (MVar)
14 import FuncTorrent.Peer (Peer(..))
19 data TrackerProtocol = Http
24 data TrackerEventState = None
29 data TrackerMsg = GetStatusMsg
30 | GetConnectedPeersMsg (MVar [Peer])
32 data TState = TState { left :: Integer
33 , currentState :: TrackerEventState
34 , connectedPeers :: MVar [Peer]
38 data TrackerResponse = TrackerResponse {
41 , complete :: Maybe Integer
42 , incomplete :: Maybe Integer