summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/Client
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2014-04-02 23:46:46 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2014-04-02 23:46:46 +0400
commit521e05a8363dd6505a4cd9db41545c5197900a27 (patch)
treecaa55faf27d6c0251475b0e3680ed81689b2fa37 /src/Network/BitTorrent/Client
parent51d8b40d3b2a4a6f18d8eb1794a4d1c29ab52587 (diff)
Add client state updates eventstream
Diffstat (limited to 'src/Network/BitTorrent/Client')
-rw-r--r--src/Network/BitTorrent/Client/Types.hs9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Network/BitTorrent/Client/Types.hs b/src/Network/BitTorrent/Client/Types.hs
index 3e62f0fa..d6b08efe 100644
--- a/src/Network/BitTorrent/Client/Types.hs
+++ b/src/Network/BitTorrent/Client/Types.hs
@@ -12,10 +12,14 @@ module Network.BitTorrent.Client.Types
12 , getClient 12 , getClient
13 13
14 , MonadBitTorrent (..) 14 , MonadBitTorrent (..)
15
16 -- * Events
17 , ClientEvent (..)
15 ) where 18 ) where
16 19
17import Control.Applicative 20import Control.Applicative
18import Control.Concurrent 21import Control.Concurrent
22import Control.Concurrent.Chan.Split
19import Control.Monad.Logger 23import Control.Monad.Logger
20import Control.Monad.Reader 24import Control.Monad.Reader
21import Control.Monad.Trans.Resource 25import Control.Monad.Trans.Resource
@@ -48,6 +52,7 @@ data Client = Client
48 , clientNode :: !(Node IPv4) 52 , clientNode :: !(Node IPv4)
49 , clientTorrents :: !(MVar (HashMap InfoHash Handle)) 53 , clientTorrents :: !(MVar (HashMap InfoHash Handle))
50 , clientLogger :: !LogFun 54 , clientLogger :: !LogFun
55 , clientEvents :: !(SendPort ClientEvent)
51 } 56 }
52 57
53instance Eq Client where 58instance Eq Client where
@@ -66,6 +71,10 @@ externalAddr Client {..} = PeerAddr
66 , peerPort = clientListenerPort 71 , peerPort = clientListenerPort
67 } 72 }
68 73
74data ClientEvent
75 = TorrentAdded InfoHash
76 deriving (Show, Eq)
77
69{----------------------------------------------------------------------- 78{-----------------------------------------------------------------------
70-- BitTorrent monad 79-- BitTorrent monad
71-----------------------------------------------------------------------} 80-----------------------------------------------------------------------}