diff options
author | Sam Truzjan <pxqr.sta@gmail.com> | 2013-12-01 14:29:56 +0400 |
---|---|---|
committer | Sam Truzjan <pxqr.sta@gmail.com> | 2013-12-01 14:29:56 +0400 |
commit | fe12e76da86b514ae5725fb8eaec7821c0376558 (patch) | |
tree | d9240d52c13e3bc912269336b44aa19b91575adf /src/Network/BitTorrent/Exchange/Status.hs | |
parent | 541ffe4b36e53dc57926ef70f1a41caf0c114b58 (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.hs | 13 |
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 | |||
24 | import Data.List as L | 25 | import Data.List as L |
25 | import Data.Default | 26 | import Data.Default |
26 | 27 | ||
28 | import Network.BitTorrent.Exchange.Message | ||
29 | |||
30 | |||
27 | -- | | 31 | -- | |
28 | data PeerStatus = PeerStatus { | 32 | data PeerStatus = PeerStatus { |
29 | _choking :: !Bool | 33 | _choking :: !Bool |
@@ -36,6 +40,15 @@ $(deriveJSON L.tail ''PeerStatus) | |||
36 | instance Default PeerStatus where | 40 | instance Default PeerStatus where |
37 | def = PeerStatus True False | 41 | def = PeerStatus True False |
38 | 42 | ||
43 | updateStatus :: StatusUpdate -> PeerStatus -> PeerStatus | ||
44 | updateStatus Choke = choking .~ True | ||
45 | updateStatus Unchoke = choking .~ False | ||
46 | updateStatus Interested = interested .~ True | ||
47 | updateStatus NotInterested = interested .~ False | ||
48 | |||
49 | statusUpdates :: PeerStatus -> PeerStatus -> [StatusUpdate] | ||
50 | statusUpdates a b = undefined | ||
51 | |||
39 | -- | | 52 | -- | |
40 | data SessionStatus = SessionStatus { | 53 | data SessionStatus = SessionStatus { |
41 | _clientStatus :: !PeerStatus | 54 | _clientStatus :: !PeerStatus |