package org.limewire.bittorrent; import org.limewire.bittorrent.TorrentTrackerScraper.ScrapeCallback; public interface TorrentScrapeScheduler { /** * Initiate a scrape request asyncronously. Results will be available * by {link #getScrapeDataIfAvailable()}. If the result is already * cached this will have no effect. */ void queueScrapeIfNew(Torrent torrent); /** * Initiate a scrape request asyncronously. Results will be available * by {link #getScrapeDataIfAvailable()} and notified using the callback. * Will queue the scrape regardless of the cache. Essentially forces an * update. */ void queueScrape(Torrent torrent, ScrapeCallback callback); /** * Get any scrape results if available. * * @return null if no scrape data available. */ TorrentScrapeData getScrapeDataIfAvailable(Torrent torrent); }