Class TrackerStatus
java.lang.Object
com.biglybt.core.tracker.client.impl.bt.TrackerStatus
One TrackerStatus object handles scrape functionality for all torrents
on one tracker.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final AllTrackersManager.AllTrackers
private final AllTrackersManager.AllTrackersTracker
private byte
private boolean
private boolean
private final TrackerChecker
private boolean
private boolean
private static final int
private static final int
private static final int
When scraping a single hash, also scrape other hashes that are going to be scraped within this range.private final HashMap
<HashWrapper, TRTrackerScraperResponseImpl> key = Torrent hash.protected final AEMonitor
private boolean
private static final List
private static final LogIDs
private static final int
private final AtomicInteger
private int
private final TRTrackerScraperImpl
only needed to notify listenersprivate String
private static final String
private static final String
private static boolean
private static final ThreadPool
private final URL
private static boolean
private static boolean
-
Constructor Summary
ConstructorsConstructorDescriptionTrackerStatus
(TrackerChecker _checker, TRTrackerScraperImpl _scraper, URL _tracker_url) -
Method Summary
Modifier and TypeMethodDescriptionprotected TRTrackerScraperResponseImpl
addHash
(HashWrapper hash) protected TRTrackerScraperResponseImpl
getHashData
(HashWrapper hash) protected Map
protected AEMonitor
int
protected String
boolean
protected URL
protected String
getURLParam
(String url, String param) protected boolean
protected void
removeHash
(HashWrapper hash) protected void
runScrapes
(ArrayList<TRTrackerScraperResponseImpl> responses, boolean force, boolean async) protected void
runScrapesSupport
(ArrayList<TRTrackerScraperResponseImpl> allResponses, boolean force) private URL
scrapeHTTP
(List<HashWrapper> hashesInQuery, URL reqUrl, ByteArrayOutputStream message) private URL
scrapeHTTPSupport
(URL reqUrl, byte[] example_hash, Proxy proxy, ByteArrayOutputStream message) protected void
scrapeReceived
(TRTrackerScraperResponse response) protected boolean
scrapeUDP
(URL reqUrl, ByteArrayOutputStream message, List hashes, boolean do_auth_test) private void
setAllError
(List<TRTrackerScraperResponseImpl> responses, Exception e) protected void
updateSingleHash
(HashWrapper hash, boolean force) protected void
updateSingleHash
(HashWrapper hash, boolean force, boolean async)
-
Field Details
-
LOGID
-
SS
- See Also:
-
SSErr
- See Also:
-
FAULTY_SCRAPE_RETRY_INTERVAL
private static final int FAULTY_SCRAPE_RETRY_INTERVAL- See Also:
-
NOHASH_RETRY_INTERVAL
private static final int NOHASH_RETRY_INTERVAL- See Also:
-
GROUP_SCRAPES_MS
private static final int GROUP_SCRAPES_MSWhen scraping a single hash, also scrape other hashes that are going to be scraped within this range.- See Also:
-
GROUP_SCRAPES_LIMIT
private static final int GROUP_SCRAPES_LIMIT- See Also:
-
tcpScrapeEnabled
private static boolean tcpScrapeEnabled -
udpScrapeEnabled
private static boolean udpScrapeEnabled -
udpProbeEnabled
private static boolean udpProbeEnabled -
all_trackers
-
autoUDPscrapeEvery
private byte autoUDPscrapeEvery -
scrapeCount
private int scrapeCount -
logged_invalid_urls
-
thread_pool
-
tracker_url
-
all_trackers_tracker
-
az_tracker
private boolean az_tracker -
enable_sni_hack
private boolean enable_sni_hack -
internal_error_hack
private boolean internal_error_hack -
dh_hack
private boolean dh_hack -
scrapeURL
-
hashes
key = Torrent hash. values = TRTrackerScraperResponseImpl -
scraper
only needed to notify listeners -
bSingleHashScrapes
private boolean bSingleHashScrapes -
hashes_mon
-
checker
-
numActiveScrapes
-
-
Constructor Details
-
TrackerStatus
-
-
Method Details
-
isTrackerScrapeUrlValid
protected boolean isTrackerScrapeUrlValid() -
getHashData
-
updateSingleHash
-
updateSingleHash
-
runScrapes
protected void runScrapes(ArrayList<TRTrackerScraperResponseImpl> responses, boolean force, boolean async) -
runScrapesSupport
protected void runScrapesSupport(ArrayList<TRTrackerScraperResponseImpl> allResponses, boolean force) -
setAllError
- Parameters:
e
-
-
scrapeHTTP
private URL scrapeHTTP(List<HashWrapper> hashesInQuery, URL reqUrl, ByteArrayOutputStream message) throws Exception - Throws:
Exception
-
scrapeHTTPSupport
private URL scrapeHTTPSupport(URL reqUrl, byte[] example_hash, Proxy proxy, ByteArrayOutputStream message) throws IOException - Throws:
IOException
-
scrapeUDP
protected boolean scrapeUDP(URL reqUrl, ByteArrayOutputStream message, List hashes, boolean do_auth_test) throws Throwable - Throws:
Throwable
-
getURLParam
-
addHash
-
removeHash
-
getTrackerURL
-
getHashes
-
getHashesMonitor
-
scrapeReceived
-
getSupportsMultipeHashScrapes
public boolean getSupportsMultipeHashScrapes() -
getString
-
getNumActiveScrapes
public int getNumActiveScrapes()
-