Class AllTrackersManagerImpl
java.lang.Object
com.biglybt.core.tracker.alltrackers.AllTrackersManagerImpl
- All Implemented Interfaces:
TOTorrentListener
,AllTrackersManager.AllTrackers
public class AllTrackersManagerImpl
extends Object
implements AllTrackersManager.AllTrackers, TOTorrentListener
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Map
<TRTrackerAnnouncerRequest, String> private final Average
private AllTrackersManager.AnnounceStats
(package private) AsyncDispatcher
private static final String
private static final String
private final Core
private Map
<HashWrapper, String> private boolean
private MovingImmediateAverage
(package private) static final int
(package private) static final int
private boolean
private Map
<String, LoggerChannel> (package private) static final int
private AtomicLong
private final Object
(package private) static final int
(package private) static final int
private final Average
private AllTrackersManager.ScrapeStats
private static final AllTrackersManagerImpl
private final long
private boolean
private boolean
(package private) static final int
private final FrequencyLimitedDispatcher
private ConcurrentLinkedDeque
<Object[]> Fields inherited from interface com.biglybt.core.torrent.TOTorrentListener
CT_ANNOUNCE_URLS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addListener
(AllTrackersManager.AllTrackersListener listener, boolean fire_for_existing) void
private void
checkLag()
int
float
getLogFile
(String short_key) private LoggerChannel
boolean
getLoggingEnabled
(String short_key) long
float
getTracker
(String name) getTracker
(URL url) int
boolean
private void
private void
processUpdates
(boolean for_close) (package private) void
queueCommand
(AllTrackersManagerImpl.AllTrackersTrackerImpl tracker, String cmd) private void
void
void
void
registerTorrent
(TOTorrent torrent) private void
registerTorrentSupport
(TOTorrent torrent) void
registerTracker
(TOTorrent torrent, URL url) void
registerTrackers
(TOTorrent torrent, List<List<URL>> trackers) void
void
void
private void
saveConfig
(boolean closing) void
setLoggingEnabled
(String short_key, boolean enabled) void
torrentChanged
(TOTorrent torrent, int change_type, Object data) void
unregisterTorrent
(TOTorrent torrent) private void
unregisterTracker
(String name) private void
void
updateTracker
(String key, TRTrackerAnnouncerRequest request) void
updateTracker
(URL url, TRTrackerAnnouncerResponse response) void
updateTracker
(URL url, TRTrackerScraperResponse response)
-
Field Details
-
MAX_TRACKERS
static final int MAX_TRACKERS- See Also:
-
TICK_PERIOD
static final int TICK_PERIOD- See Also:
-
SAVE_PERIOD
static final int SAVE_PERIOD- See Also:
-
SAVE_TICKS
static final int SAVE_TICKS- See Also:
-
LAG_CHECK_PERIOD
static final int LAG_CHECK_PERIOD- See Also:
-
LAG_CHECK_TICKS
static final int LAG_CHECK_TICKS- See Also:
-
CONFIG_FILE
- See Also:
-
CONFIG_PRIVATE_ACTIVE_AT_CLOSE
- See Also:
-
singleton
-
start_time
private final long start_time -
core
-
started
private volatile boolean started -
stopping
private volatile boolean stopping -
host_map
-
update_queue
-
listeners
-
active_requests
-
got_running
private boolean got_running -
process_lock
-
pending_torrents
-
logging_keys
-
dm_name_cache
-
options_mutation_count
-
lag_average
-
lag_logged
private boolean lag_logged -
active
-
announce_rate
-
scrape_rate
-
announce_stats
-
scrape_stats
-
announce_provider
-
scrape_provider
-
totalDisp
-
asyncDisp
AsyncDispatcher asyncDisp
-
-
Constructor Details
-
AllTrackersManagerImpl
private AllTrackersManagerImpl()
-
-
Method Details
-
getSingleton
-
isStopping
public boolean isStopping()- Specified by:
isStopping
in interfaceAllTrackersManager.AllTrackers
-
checkLag
private void checkLag() -
processUpdates
private void processUpdates(boolean for_close) -
loadConfig
private void loadConfig() -
saveConfig
private void saveConfig(boolean closing) -
updateLogging
private void updateLogging() -
registerAnnounceStatsProvider
- Specified by:
registerAnnounceStatsProvider
in interfaceAllTrackersManager.AllTrackers
-
registerScrapeStatsProvider
- Specified by:
registerScrapeStatsProvider
in interfaceAllTrackersManager.AllTrackers
-
addActiveRequest
- Specified by:
addActiveRequest
in interfaceAllTrackersManager.AllTrackers
-
removeActiveRequest
- Specified by:
removeActiveRequest
in interfaceAllTrackersManager.AllTrackers
-
addScrapeRequest
public void addScrapeRequest()- Specified by:
addScrapeRequest
in interfaceAllTrackersManager.AllTrackers
-
removeScrapeRequest
public void removeScrapeRequest()- Specified by:
removeScrapeRequest
in interfaceAllTrackersManager.AllTrackers
-
getActiveRequestCount
public int getActiveRequestCount()- Specified by:
getActiveRequestCount
in interfaceAllTrackersManager.AllTrackers
-
getAnnouncesPerSecond
public float getAnnouncesPerSecond()- Specified by:
getAnnouncesPerSecond
in interfaceAllTrackersManager.AllTrackers
-
getScrapesPerSecond
public float getScrapesPerSecond()- Specified by:
getScrapesPerSecond
in interfaceAllTrackersManager.AllTrackers
-
getAnnounceStats
- Specified by:
getAnnounceStats
in interfaceAllTrackersManager.AllTrackers
-
getScrapeStats
- Specified by:
getScrapeStats
in interfaceAllTrackersManager.AllTrackers
-
getTrackerCount
public int getTrackerCount()- Specified by:
getTrackerCount
in interfaceAllTrackersManager.AllTrackers
-
recalcTotals
private void recalcTotals() -
registerTorrent
- Specified by:
registerTorrent
in interfaceAllTrackersManager.AllTrackers
-
unregisterTorrent
- Specified by:
unregisterTorrent
in interfaceAllTrackersManager.AllTrackers
-
registerTorrentSupport
-
torrentChanged
- Specified by:
torrentChanged
in interfaceTOTorrentListener
-
registerTracker
- Specified by:
registerTracker
in interfaceAllTrackersManager.AllTrackers
-
registerTrackers
- Specified by:
registerTrackers
in interfaceAllTrackersManager.AllTrackers
-
getOptionsMutationCount
public long getOptionsMutationCount()- Specified by:
getOptionsMutationCount
in interfaceAllTrackersManager.AllTrackers
-
ingestURL
- Specified by:
ingestURL
in interfaceAllTrackersManager.AllTrackers
-
register
private AllTrackersManagerImpl.AllTrackersTrackerImpl register(TOTorrent torrent_maybe_null, URL url) -
register
private AllTrackersManagerImpl.AllTrackersTrackerImpl register(TOTorrent torrent_maybe_null, String name) -
unregisterTracker
-
updateTracker
- Specified by:
updateTracker
in interfaceAllTrackersManager.AllTrackers
-
updateTracker
- Specified by:
updateTracker
in interfaceAllTrackersManager.AllTrackers
-
updateTracker
- Specified by:
updateTracker
in interfaceAllTrackersManager.AllTrackers
-
queueCommand
-
getTracker
- Specified by:
getTracker
in interfaceAllTrackersManager.AllTrackers
-
getTracker
- Specified by:
getTracker
in interfaceAllTrackersManager.AllTrackers
-
getLoggingEnabled
- Specified by:
getLoggingEnabled
in interfaceAllTrackersManager.AllTrackers
-
setLoggingEnabled
- Specified by:
setLoggingEnabled
in interfaceAllTrackersManager.AllTrackers
-
getLogger
-
getLogFile
- Specified by:
getLogFile
in interfaceAllTrackersManager.AllTrackers
-
addListener
- Specified by:
addListener
in interfaceAllTrackersManager.AllTrackers
-
removeListener
- Specified by:
removeListener
in interfaceAllTrackersManager.AllTrackers
-