Tribler/tribler — pull request #333 by lfei815 (2013-12-09 11:37:31+00:00)
Title: New torrent status logic.

Summary of changes:
(1) Two new columns in DB: "tracker_check_retries" and "next_tracker_check"
(2) Two new temporary methods in TorrentDBHandler: getTorrentCheckRetries() and updateTorrentCheckResult().
(3) New torrent status logic:
(a) a good result means seeders > 0 or leechers > 0, a bad result means seeders == 0 and leechers == 0.
(b) when a torrent gets a good result, its status will become "good" and its retry count will be reset to 0.
(c) a torrent is announced to be "dead" if it reaches the maximum retry count and it has no good result.
(d) the torrent check selects the torrents on a tracker and also checks their next_tracker_check column. Torrents with their next_tracker_check later than the current time will be ignored.
(e) next_tracker_check is calculated in this way: = + * (2 ^ ), where is configurable and is 30 seconds in default.