Class TRTrackerDHTAnnouncerImpl
- java.lang.Object
-
- com.biglybt.core.tracker.client.impl.dht.TRTrackerDHTAnnouncerImpl
-
- All Implemented Interfaces:
TRTrackerAnnouncerHelper
,TRTrackerAnnouncer
public class TRTrackerDHTAnnouncerImpl extends java.lang.Object implements TRTrackerAnnouncerHelper
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
data_peer_id
private TRTrackerAnnouncerImpl.Helper
helper
private TRTrackerAnnouncerResponseImpl
last_response
private long
last_update_time
static LogIDs
LOGID
private boolean
manual
private int
state
private TOTorrent
torrent
private HashWrapper
torrent_hash
private java.lang.String
tracker_status_str
-
Fields inherited from interface com.biglybt.core.tracker.client.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 Constructor Description TRTrackerDHTAnnouncerImpl(TOTorrent _torrent, java.lang.String[] _networks, boolean _manual, TRTrackerAnnouncerImpl.Helper _helper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(TRTrackerAnnouncerListener l)
void
clearIPOverride()
void
complete(boolean already_reported)
void
destroy()
void
generateEvidence(IndentWriter writer)
TOTorrentAnnounceURLSet[]
getAnnounceSets()
TRTrackerAnnouncer
getBestAnnouncer()
TrackerPeerSource
getCacheTrackerPeerSource()
long
getInterval()
TRTrackerAnnouncerResponse
getLastResponse()
int
getLastUpdateTime()
Last Update Time in secondslong
getMinInterval()
byte[]
getPeerId()
int
getPort()
int
getStatus()
java.lang.String
getStatusString()
int
getTimeUntilNextUpdate()
TOTorrent
getTorrent()
TrackerPeerSource
getTrackerPeerSource(TOTorrentAnnounceURLSet set)
Gets a delegate tracker peer source for reporting againstjava.util.Map
getTrackerResponseCache()
returns a Map containing "bencoded" entries representing a cache of tracker responses.java.net.URL
getTrackerURL()
boolean
isManual()
boolean
isUpdating()
void
refreshListeners()
This method forces all listeners to get an explicit "urlChanged" event to get them to re-examine the trackervoid
removeFromTrackerResponseCache(java.lang.String ip, int tcpPort)
remove a specific entry from the cache if presentvoid
removeListener(TRTrackerAnnouncerListener l)
void
resetTrackerUrl(boolean shuffle)
void
setAnnounceDataProvider(TRTrackerAnnouncerDataProvider provider)
void
setAnnounceResult(DownloadAnnounceResult result)
void
setIPOverride(java.lang.String override)
void
setRefreshDelayOverrides(int percentage)
void
setTrackerResponseCache(java.util.Map map)
sets the response cache.void
setTrackerURL(java.net.URL url)
void
stop(boolean for_queue)
void
update(boolean force)
-
-
-
Field Detail
-
LOGID
public static final LogIDs LOGID
-
torrent
private final TOTorrent torrent
-
torrent_hash
private HashWrapper torrent_hash
-
helper
private final TRTrackerAnnouncerImpl.Helper helper
-
data_peer_id
private byte[] data_peer_id
-
tracker_status_str
private java.lang.String tracker_status_str
-
last_update_time
private long last_update_time
-
state
private int state
-
last_response
private TRTrackerAnnouncerResponseImpl last_response
-
manual
private final boolean manual
-
-
Constructor Detail
-
TRTrackerDHTAnnouncerImpl
public TRTrackerDHTAnnouncerImpl(TOTorrent _torrent, java.lang.String[] _networks, boolean _manual, TRTrackerAnnouncerImpl.Helper _helper) throws TRTrackerAnnouncerException
- Throws:
TRTrackerAnnouncerException
-
-
Method Detail
-
setAnnounceDataProvider
public void setAnnounceDataProvider(TRTrackerAnnouncerDataProvider provider)
- Specified by:
setAnnounceDataProvider
in interfaceTRTrackerAnnouncer
-
isManual
public boolean isManual()
- Specified by:
isManual
in interfaceTRTrackerAnnouncer
-
getTorrent
public TOTorrent getTorrent()
- Specified by:
getTorrent
in interfaceTRTrackerAnnouncer
-
getTrackerURL
public java.net.URL getTrackerURL()
- Specified by:
getTrackerURL
in interfaceTRTrackerAnnouncer
-
setTrackerURL
public void setTrackerURL(java.net.URL url)
- Specified by:
setTrackerURL
in interfaceTRTrackerAnnouncer
-
getAnnounceSets
public TOTorrentAnnounceURLSet[] getAnnounceSets()
- Specified by:
getAnnounceSets
in interfaceTRTrackerAnnouncerHelper
-
resetTrackerUrl
public void resetTrackerUrl(boolean shuffle)
- Specified by:
resetTrackerUrl
in interfaceTRTrackerAnnouncer
-
setIPOverride
public void setIPOverride(java.lang.String override)
- Specified by:
setIPOverride
in interfaceTRTrackerAnnouncer
-
clearIPOverride
public void clearIPOverride()
- Specified by:
clearIPOverride
in interfaceTRTrackerAnnouncer
-
getPort
public int getPort()
-
getPeerId
public byte[] getPeerId()
- Specified by:
getPeerId
in interfaceTRTrackerAnnouncer
-
setRefreshDelayOverrides
public void setRefreshDelayOverrides(int percentage)
- Specified by:
setRefreshDelayOverrides
in interfaceTRTrackerAnnouncer
-
getTimeUntilNextUpdate
public int getTimeUntilNextUpdate()
- Specified by:
getTimeUntilNextUpdate
in interfaceTRTrackerAnnouncer
- Specified by:
getTimeUntilNextUpdate
in interfaceTRTrackerAnnouncerHelper
-
getLastUpdateTime
public int getLastUpdateTime()
Description copied from interface:TRTrackerAnnouncer
Last Update Time in seconds- Specified by:
getLastUpdateTime
in interfaceTRTrackerAnnouncer
-
update
public void update(boolean force)
- Specified by:
update
in interfaceTRTrackerAnnouncer
-
complete
public void complete(boolean already_reported)
- Specified by:
complete
in interfaceTRTrackerAnnouncer
-
stop
public void stop(boolean for_queue)
- Specified by:
stop
in interfaceTRTrackerAnnouncer
-
destroy
public void destroy()
- Specified by:
destroy
in interfaceTRTrackerAnnouncer
-
getStatus
public int getStatus()
- Specified by:
getStatus
in interfaceTRTrackerAnnouncer
-
getStatusString
public java.lang.String getStatusString()
- Specified by:
getStatusString
in interfaceTRTrackerAnnouncer
-
getBestAnnouncer
public TRTrackerAnnouncer getBestAnnouncer()
- Specified by:
getBestAnnouncer
in interfaceTRTrackerAnnouncer
-
getLastResponse
public TRTrackerAnnouncerResponse getLastResponse()
- Specified by:
getLastResponse
in interfaceTRTrackerAnnouncer
-
isUpdating
public boolean isUpdating()
- Specified by:
isUpdating
in interfaceTRTrackerAnnouncerHelper
-
getInterval
public long getInterval()
- Specified by:
getInterval
in interfaceTRTrackerAnnouncerHelper
-
getMinInterval
public long getMinInterval()
- Specified by:
getMinInterval
in interfaceTRTrackerAnnouncerHelper
-
refreshListeners
public void refreshListeners()
Description copied from interface:TRTrackerAnnouncer
This method forces all listeners to get an explicit "urlChanged" event to get them to re-examine the tracker- Specified by:
refreshListeners
in interfaceTRTrackerAnnouncer
-
setAnnounceResult
public void setAnnounceResult(DownloadAnnounceResult result)
- Specified by:
setAnnounceResult
in interfaceTRTrackerAnnouncer
-
addListener
public void addListener(TRTrackerAnnouncerListener l)
- Specified by:
addListener
in interfaceTRTrackerAnnouncer
-
removeListener
public void removeListener(TRTrackerAnnouncerListener l)
- Specified by:
removeListener
in interfaceTRTrackerAnnouncer
-
setTrackerResponseCache
public void setTrackerResponseCache(java.util.Map map)
Description copied from interface:TRTrackerAnnouncer
sets the response cache. This may be used by the tracker client to return peer details when the tracker is offline- Specified by:
setTrackerResponseCache
in interfaceTRTrackerAnnouncer
-
removeFromTrackerResponseCache
public void removeFromTrackerResponseCache(java.lang.String ip, int tcpPort)
Description copied from interface:TRTrackerAnnouncer
remove a specific entry from the cache if present- Specified by:
removeFromTrackerResponseCache
in interfaceTRTrackerAnnouncer
-
getTrackerResponseCache
public java.util.Map getTrackerResponseCache()
Description copied from interface:TRTrackerAnnouncer
returns a Map containing "bencoded" entries representing a cache of tracker responses.- Specified by:
getTrackerResponseCache
in interfaceTRTrackerAnnouncer
- Returns:
-
getTrackerPeerSource
public TrackerPeerSource getTrackerPeerSource(TOTorrentAnnounceURLSet set)
Description copied from interface:TRTrackerAnnouncer
Gets a delegate tracker peer source for reporting against- Specified by:
getTrackerPeerSource
in interfaceTRTrackerAnnouncer
- Returns:
-
getCacheTrackerPeerSource
public TrackerPeerSource getCacheTrackerPeerSource()
- Specified by:
getCacheTrackerPeerSource
in interfaceTRTrackerAnnouncer
-
generateEvidence
public void generateEvidence(IndentWriter writer)
- Specified by:
generateEvidence
in interfaceTRTrackerAnnouncer
-
-