summaryrefslogtreecommitdiff
path: root/src/Network/BitTorrent/Tracker/Session.hs
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2014-03-15 20:37:11 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2014-03-15 20:37:11 +0400
commit442a7c0941b4f2659988193404263348593551a2 (patch)
treeb22870011b7a27a508f1500670bf7513f34df3b2 /src/Network/BitTorrent/Tracker/Session.hs
parente2c997424da60cae727a934fd9627f00ec1be0fd (diff)
Expose UDP tracker specific message types
Those can be used to implement UDP tracker server by third party libraries or projects.
Diffstat (limited to 'src/Network/BitTorrent/Tracker/Session.hs')
-rw-r--r--src/Network/BitTorrent/Tracker/Session.hs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/Network/BitTorrent/Tracker/Session.hs b/src/Network/BitTorrent/Tracker/Session.hs
index 7be16fd6..9fe02b52 100644
--- a/src/Network/BitTorrent/Tracker/Session.hs
+++ b/src/Network/BitTorrent/Tracker/Session.hs
@@ -50,13 +50,13 @@ import Network.BitTorrent.Tracker.RPC as RPC
50-- Tracker entry 50-- Tracker entry
51-----------------------------------------------------------------------} 51-----------------------------------------------------------------------}
52 52
53data Scrape = Scrape 53data LastScrape = LastScrape
54 { leechersCount :: Maybe Int 54 { leechersCount :: Maybe Int
55 , seedersCount :: Maybe Int 55 , seedersCount :: Maybe Int
56 } deriving (Show, Eq) 56 } deriving (Show, Eq)
57 57
58instance Default Scrape where 58instance Default LastScrape where
59 def = Scrape Nothing Nothing 59 def = LastScrape Nothing Nothing
60 60
61 61
62data Status 62data Status
@@ -102,7 +102,7 @@ data TrackerEntry = TrackerEntry
102 , peersCache :: Cached [PeerAddr IP] 102 , peersCache :: Cached [PeerAddr IP]
103 103
104 -- | May be used to show brief swarm stats in client GUI. 104 -- | May be used to show brief swarm stats in client GUI.
105 , scrapeCache :: Cached Scrape 105 , scrapeCache :: Cached LastScrape
106 } 106 }
107 107
108nullEntry :: URI -> TrackerEntry 108nullEntry :: URI -> TrackerEntry
@@ -140,11 +140,11 @@ cachePeers AnnounceInfo {..} =
140 (seconds (fromMaybe respInterval respMinInterval)) 140 (seconds (fromMaybe respInterval respMinInterval))
141 (getPeerList respPeers) 141 (getPeerList respPeers)
142 142
143cacheScrape :: AnnounceInfo -> IO (Cached Scrape) 143cacheScrape :: AnnounceInfo -> IO (Cached LastScrape)
144cacheScrape AnnounceInfo {..} = 144cacheScrape AnnounceInfo {..} =
145 newCached (seconds respInterval) 145 newCached (seconds respInterval)
146 (seconds (fromMaybe respInterval respMinInterval)) 146 (seconds (fromMaybe respInterval respMinInterval))
147 Scrape 147 LastScrape
148 { seedersCount = respComplete 148 { seedersCount = respComplete
149 , leechersCount = respIncomplete 149 , leechersCount = respIncomplete
150 } 150 }