Class TRTrackerAnnouncerImpl
java.lang.Object
com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerImpl
- All Implemented Interfaces:
TRTrackerAnnouncer
- Direct Known Subclasses:
TRTrackerAnnouncerMuxer
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate static final Stringprivate static final intprivate static final intprivate static final intprivate static final intprotected final ListenerManager<TRTrackerAnnouncerListener> static final LogIDsprivate final byte[]private final longprivate static AtomicLongprivate final TOTorrentprivate final String(package private) final Map<String, TRTrackerAnnouncerResponsePeer> private final AEMonitorprivate final intFields inherited from interface TRTrackerAnnouncer
AZ_TRACKER_VERSION_1, AZ_TRACKER_VERSION_2, AZ_TRACKER_VERSION_3, AZ_TRACKER_VERSION_CURRENT, DEFAULT_PEERS_TO_CACHE, REFRESH_MINIMUM_SECS, TS_COMPLETED, TS_DOWNLOADING, TS_INITIALISED, TS_STOPPED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidvoidprivate static Stringprotected Mapprotected abstract intbyte[]protected TRTrackerAnnouncerResponsePeer[]getPeersFromCache(int num_want) returns a Map containing "bencoded" entries representing a cache of tracker responses.protected intimportTrackerCache(Map map) protected voidinformResponse(TRTrackerAnnouncerHelper helper, TRTrackerAnnouncerRequest request, TRTrackerAnnouncerResponse response) protected voidstatic MapmergeResponseCache(Map map1, Map map2) voidremoveFromTrackerResponseCache(String ip, int tcp_port) remove a specific entry from the cache if presentvoidvoidsets the response cache.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface TRTrackerAnnouncer
clearIPOverride, complete, destroy, generateEvidence, getBestAnnouncer, getLastResponse, getLastUpdateTime, getStatus, getStatusString, getTimeUntilNextUpdate, getTrackerPeerSource, getTrackerURL, isManual, refreshListeners, resetTrackerUrl, setAnnounceDataProvider, setAnnounceResult, setIPOverride, setRefreshDelayOverrides, setTrackerURL, stop, update
-
Field Details
-
LOGID
-
LDT_TRACKER_RESPONSE
private static final int LDT_TRACKER_RESPONSE- See Also:
-
LDT_URL_CHANGED
private static final int LDT_URL_CHANGED- See Also:
-
LDT_URL_REFRESH
private static final int LDT_URL_REFRESH- See Also:
-
chars
- See Also:
-
key_id_length
private static final int key_id_length- See Also:
-
session_id_next
-
listeners
-
tracker_peer_cache
-
tracker_peer_cache_mon
-
cache_peers_used
private int cache_peers_used -
torrent
-
peer_id
private final byte[] peer_id -
session_id
private final long session_id -
tracker_key
-
udp_key
private final int udp_key
-
-
Constructor Details
-
TRTrackerAnnouncerImpl
- Throws:
TRTrackerAnnouncerException
-
-
Method Details
-
createKeyID
-
getTorrent
- Specified by:
getTorrentin interfaceTRTrackerAnnouncer
-
getHelper
-
getPeerId
public byte[] getPeerId()- Specified by:
getPeerIdin interfaceTRTrackerAnnouncer
-
getTrackerResponseCache
Description copied from interface:TRTrackerAnnouncerreturns a Map containing "bencoded" entries representing a cache of tracker responses.- Specified by:
getTrackerResponseCachein interfaceTRTrackerAnnouncer- Returns:
-
clearTrackerResponseCache
public void clearTrackerResponseCache()- Specified by:
clearTrackerResponseCachein interfaceTRTrackerAnnouncer
-
setTrackerResponseCache
Description copied from interface:TRTrackerAnnouncersets the response cache. This may be used by the tracker client to return peer details when the tracker is offline- Specified by:
setTrackerResponseCachein interfaceTRTrackerAnnouncer- Parameters:
map-
-
exportTrackerCache
-
importTrackerCache
-
addToTrackerCache
-
removeFromTrackerResponseCache
Description copied from interface:TRTrackerAnnouncerremove a specific entry from the cache if present- Specified by:
removeFromTrackerResponseCachein interfaceTRTrackerAnnouncer- Parameters:
ip-tcp_port-
-
mergeResponseCache
-
getPeerCacheLimit
protected abstract int getPeerCacheLimit() -
getPeersFromCache
-
getCacheTrackerPeerSource
- Specified by:
getCacheTrackerPeerSourcein interfaceTRTrackerAnnouncer
-
informResponse
protected void informResponse(TRTrackerAnnouncerHelper helper, TRTrackerAnnouncerRequest request, TRTrackerAnnouncerResponse response) -
informURLRefresh
protected void informURLRefresh() -
addListener
- Specified by:
addListenerin interfaceTRTrackerAnnouncer
-
removeListener
- Specified by:
removeListenerin interfaceTRTrackerAnnouncer
-