1 {-# LANGUAGE OverloadedStrings #-}
2 module FuncTorrent.Tracker.Types
5 , TrackerEventState(..)
11 import Control.Concurrent.MVar (MVar)
13 import FuncTorrent.Peer (Peer(..))
18 data TrackerProtocol = Http
23 data TrackerEventState = None
29 data TState = TState {
30 uploaded :: MVar Integer
31 , downloaded :: MVar Integer
33 , currentState :: TrackerEventState
34 , connectedPeers :: MVar [Peer]
38 data TrackerResponse = TrackerResponse {
41 , complete :: Maybe Integer
42 , incomplete :: Maybe Integer