summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/Exchange/Status.hs
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-12-01 14:29:56 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-12-01 14:29:56 +0400
commitfe12e76da86b514ae5725fb8eaec7821c0376558 (patch)
treed9240d52c13e3bc912269336b44aa19b91575adf /src/Network/BitTorrent/Exchange/Status.hs
parent541ffe4b36e53dc57926ef70f1a41caf0c114b58 (diff)
Move exchange extension stuff to the Message module
Diffstat (limited to 'src/Network/BitTorrent/Exchange/Status.hs')
-rw-r--r--src/Network/BitTorrent/Exchange/Status.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/Network/BitTorrent/Exchange/Status.hs b/src/Network/BitTorrent/Exchange/Status.hs
index 683ac594..7920f2a1 100644
--- a/src/Network/BitTorrent/Exchange/Status.hs
+++ b/src/Network/BitTorrent/Exchange/Status.hs
@@ -4,6 +4,7 @@ module Network.BitTorrent.Exchange.Status
4 PeerStatus(..) 4 PeerStatus(..)
5 , choking 5 , choking
6 , interested 6 , interested
7 , updateStatus
7 8
8 -- * Session status 9 -- * Session status
9 , SessionStatus(..) 10 , SessionStatus(..)
@@ -24,6 +25,9 @@ import Data.Aeson.TH
24import Data.List as L 25import Data.List as L
25import Data.Default 26import Data.Default
26 27
28import Network.BitTorrent.Exchange.Message
29
30
27-- | 31-- |
28data PeerStatus = PeerStatus { 32data PeerStatus = PeerStatus {
29 _choking :: !Bool 33 _choking :: !Bool
@@ -36,6 +40,15 @@ $(deriveJSON L.tail ''PeerStatus)
36instance Default PeerStatus where 40instance Default PeerStatus where
37 def = PeerStatus True False 41 def = PeerStatus True False
38 42
43updateStatus :: StatusUpdate -> PeerStatus -> PeerStatus
44updateStatus Choke = choking .~ True
45updateStatus Unchoke = choking .~ False
46updateStatus Interested = interested .~ True
47updateStatus NotInterested = interested .~ False
48
49statusUpdates :: PeerStatus -> PeerStatus -> [StatusUpdate]
50statusUpdates a b = undefined
51
39-- | 52-- |
40data SessionStatus = SessionStatus { 53data SessionStatus = SessionStatus {
41 _clientStatus :: !PeerStatus 54 _clientStatus :: !PeerStatus