diff options
author | Sam Truzjan <pxqr.sta@gmail.com> | 2014-03-15 20:37:11 +0400 |
---|---|---|
committer | Sam Truzjan <pxqr.sta@gmail.com> | 2014-03-15 20:37:11 +0400 |
commit | 442a7c0941b4f2659988193404263348593551a2 (patch) | |
tree | b22870011b7a27a508f1500670bf7513f34df3b2 /src/Network/BitTorrent/Tracker/Session.hs | |
parent | e2c997424da60cae727a934fd9627f00ec1be0fd (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.hs | 12 |
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 | ||
53 | data Scrape = Scrape | 53 | data 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 | ||
58 | instance Default Scrape where | 58 | instance Default LastScrape where |
59 | def = Scrape Nothing Nothing | 59 | def = LastScrape Nothing Nothing |
60 | 60 | ||
61 | 61 | ||
62 | data Status | 62 | data 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 | ||
108 | nullEntry :: URI -> TrackerEntry | 108 | nullEntry :: 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 | ||
143 | cacheScrape :: AnnounceInfo -> IO (Cached Scrape) | 143 | cacheScrape :: AnnounceInfo -> IO (Cached LastScrape) |
144 | cacheScrape AnnounceInfo {..} = | 144 | cacheScrape 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 | } |