Class TrackerStatus


  • public class TrackerStatus
    extends java.lang.Object
    One TrackerStatus object handles scrape functionality for all torrents on one tracker.
    • Field Detail

      • LOGID

        private static final LogIDs LOGID
      • FAULTY_SCRAPE_RETRY_INTERVAL

        private static final int FAULTY_SCRAPE_RETRY_INTERVAL
        See Also:
        Constant Field Values
      • GROUP_SCRAPES_MS

        private static final int GROUP_SCRAPES_MS
        When scraping a single hash, also scrape other hashes that are going to be scraped within this range.
        See Also:
        Constant Field Values
      • tcpScrapeEnabled

        private static boolean tcpScrapeEnabled
      • udpScrapeEnabled

        private static boolean udpScrapeEnabled
      • udpProbeEnabled

        private static boolean udpProbeEnabled
      • autoUDPscrapeEvery

        private byte autoUDPscrapeEvery
      • scrapeCount

        private int scrapeCount
      • logged_invalid_urls

        private static final java.util.List logged_invalid_urls
      • thread_pool

        private static final ThreadPool thread_pool
      • tracker_url

        private final java.net.URL tracker_url
      • 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

        private java.lang.String scrapeURL
      • bSingleHashScrapes

        private boolean bSingleHashScrapes
      • hashes_mon

        protected final AEMonitor hashes_mon
      • numActiveScrapes

        private final java.util.concurrent.atomic.AtomicInteger numActiveScrapes
    • Method Detail

      • isTrackerScrapeUrlValid

        protected boolean isTrackerScrapeUrlValid()
      • updateSingleHash

        protected void updateSingleHash​(HashWrapper hash,
                                        boolean force)
      • updateSingleHash

        protected void updateSingleHash​(HashWrapper hash,
                                        boolean force,
                                        boolean async)
      • setAllError

        private void setAllError​(java.util.List<TRTrackerScraperResponseImpl> responses,
                                 java.lang.Exception e)
        Parameters:
        e -
      • scrapeHTTP

        private java.net.URL scrapeHTTP​(java.util.List<HashWrapper> hashesInQuery,
                                        java.net.URL reqUrl,
                                        java.io.ByteArrayOutputStream message)
                                 throws java.lang.Exception
        Throws:
        java.lang.Exception
      • scrapeHTTPSupport

        private java.net.URL scrapeHTTPSupport​(java.net.URL reqUrl,
                                               byte[] example_hash,
                                               java.net.Proxy proxy,
                                               java.io.ByteArrayOutputStream message)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • scrapeUDP

        protected boolean scrapeUDP​(java.net.URL reqUrl,
                                    java.io.ByteArrayOutputStream message,
                                    java.util.List hashes,
                                    boolean do_auth_test)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • getURLParam

        protected java.lang.String getURLParam​(java.lang.String url,
                                               java.lang.String param)
      • removeHash

        protected void removeHash​(HashWrapper hash)
      • getTrackerURL

        protected java.net.URL getTrackerURL()
      • getHashes

        protected java.util.Map getHashes()
      • getHashesMonitor

        protected AEMonitor getHashesMonitor()
      • getSupportsMultipeHashScrapes

        public boolean getSupportsMultipeHashScrapes()
      • getString

        protected java.lang.String getString()
      • getNumActiveScrapes

        public int getNumActiveScrapes()