org.gudy.azureus2.core3.tracker.client.impl.dht
Class TRTrackerDHTAnnouncerImpl

java.lang.Object
  extended by org.gudy.azureus2.core3.tracker.client.impl.dht.TRTrackerDHTAnnouncerImpl
All Implemented Interfaces:
TRTrackerAnnouncerHelper, TRTrackerAnnouncer

public class TRTrackerDHTAnnouncerImpl
extends Object
implements TRTrackerAnnouncerHelper

Author:
parg

Field Summary
static LogIDs LOGID
           
 
Fields inherited from interface org.gudy.azureus2.core3.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
TRTrackerDHTAnnouncerImpl(TOTorrent _torrent, String[] _networks, boolean _manual, TRTrackerAnnouncerImpl.Helper _helper)
           
 
Method Summary
 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 seconds
 long getMinInterval()
           
 byte[] getPeerId()
           
 int getPort()
           
 int getStatus()
           
 String getStatusString()
           
 int getTimeUntilNextUpdate()
           
 TOTorrent getTorrent()
           
 TrackerPeerSource getTrackerPeerSource(TOTorrentAnnounceURLSet set)
          Gets a delegate tracker peer source for reporting against
 Map getTrackerResponseCache()
          returns a Map containing "bencoded" entries representing a cache of tracker responses.
 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 tracker
 void removeFromTrackerResponseCache(String ip, int tcpPort)
          remove a specific entry from the cache if present
 void removeListener(TRTrackerAnnouncerListener l)
           
 void resetTrackerUrl(boolean shuffle)
           
 void setAnnounceDataProvider(TRTrackerAnnouncerDataProvider provider)
           
 void setAnnounceResult(DownloadAnnounceResult result)
           
 void setIPOverride(String override)
           
 void setRefreshDelayOverrides(int percentage)
           
 void setTrackerResponseCache(Map map)
          sets the response cache.
 void setTrackerURL(URL url)
           
 void stop(boolean for_queue)
           
 void update(boolean force)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGID

public static final LogIDs LOGID
Constructor Detail

TRTrackerDHTAnnouncerImpl

public TRTrackerDHTAnnouncerImpl(TOTorrent _torrent,
                                 String[] _networks,
                                 boolean _manual,
                                 TRTrackerAnnouncerImpl.Helper _helper)
                          throws TRTrackerAnnouncerException
Throws:
TRTrackerAnnouncerException
Method Detail

setAnnounceDataProvider

public void setAnnounceDataProvider(TRTrackerAnnouncerDataProvider provider)
Specified by:
setAnnounceDataProvider in interface TRTrackerAnnouncer

isManual

public boolean isManual()
Specified by:
isManual in interface TRTrackerAnnouncer

getTorrent

public TOTorrent getTorrent()
Specified by:
getTorrent in interface TRTrackerAnnouncer

getTrackerURL

public URL getTrackerURL()
Specified by:
getTrackerURL in interface TRTrackerAnnouncer

setTrackerURL

public void setTrackerURL(URL url)
Specified by:
setTrackerURL in interface TRTrackerAnnouncer

getAnnounceSets

public TOTorrentAnnounceURLSet[] getAnnounceSets()
Specified by:
getAnnounceSets in interface TRTrackerAnnouncerHelper

resetTrackerUrl

public void resetTrackerUrl(boolean shuffle)
Specified by:
resetTrackerUrl in interface TRTrackerAnnouncer

setIPOverride

public void setIPOverride(String override)
Specified by:
setIPOverride in interface TRTrackerAnnouncer

clearIPOverride

public void clearIPOverride()
Specified by:
clearIPOverride in interface TRTrackerAnnouncer

getPort

public int getPort()

getPeerId

public byte[] getPeerId()
Specified by:
getPeerId in interface TRTrackerAnnouncer

setRefreshDelayOverrides

public void setRefreshDelayOverrides(int percentage)
Specified by:
setRefreshDelayOverrides in interface TRTrackerAnnouncer

getTimeUntilNextUpdate

public int getTimeUntilNextUpdate()
Specified by:
getTimeUntilNextUpdate in interface TRTrackerAnnouncerHelper
Specified by:
getTimeUntilNextUpdate in interface TRTrackerAnnouncer

getLastUpdateTime

public int getLastUpdateTime()
Description copied from interface: TRTrackerAnnouncer
Last Update Time in seconds

Specified by:
getLastUpdateTime in interface TRTrackerAnnouncer

update

public void update(boolean force)
Specified by:
update in interface TRTrackerAnnouncer

complete

public void complete(boolean already_reported)
Specified by:
complete in interface TRTrackerAnnouncer

stop

public void stop(boolean for_queue)
Specified by:
stop in interface TRTrackerAnnouncer

destroy

public void destroy()
Specified by:
destroy in interface TRTrackerAnnouncer

getStatus

public int getStatus()
Specified by:
getStatus in interface TRTrackerAnnouncer

getStatusString

public String getStatusString()
Specified by:
getStatusString in interface TRTrackerAnnouncer

getBestAnnouncer

public TRTrackerAnnouncer getBestAnnouncer()
Specified by:
getBestAnnouncer in interface TRTrackerAnnouncer

getLastResponse

public TRTrackerAnnouncerResponse getLastResponse()
Specified by:
getLastResponse in interface TRTrackerAnnouncer

isUpdating

public boolean isUpdating()
Specified by:
isUpdating in interface TRTrackerAnnouncerHelper

getInterval

public long getInterval()
Specified by:
getInterval in interface TRTrackerAnnouncerHelper

getMinInterval

public long getMinInterval()
Specified by:
getMinInterval in interface TRTrackerAnnouncerHelper

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 interface TRTrackerAnnouncer

setAnnounceResult

public void setAnnounceResult(DownloadAnnounceResult result)
Specified by:
setAnnounceResult in interface TRTrackerAnnouncer

addListener

public void addListener(TRTrackerAnnouncerListener l)
Specified by:
addListener in interface TRTrackerAnnouncer

removeListener

public void removeListener(TRTrackerAnnouncerListener l)
Specified by:
removeListener in interface TRTrackerAnnouncer

setTrackerResponseCache

public void setTrackerResponseCache(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 interface TRTrackerAnnouncer

removeFromTrackerResponseCache

public void removeFromTrackerResponseCache(String ip,
                                           int tcpPort)
Description copied from interface: TRTrackerAnnouncer
remove a specific entry from the cache if present

Specified by:
removeFromTrackerResponseCache in interface TRTrackerAnnouncer

getTrackerResponseCache

public Map getTrackerResponseCache()
Description copied from interface: TRTrackerAnnouncer
returns a Map containing "bencoded" entries representing a cache of tracker responses.

Specified by:
getTrackerResponseCache in interface TRTrackerAnnouncer
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 interface TRTrackerAnnouncer
Returns:

getCacheTrackerPeerSource

public TrackerPeerSource getCacheTrackerPeerSource()
Specified by:
getCacheTrackerPeerSource in interface TRTrackerAnnouncer

generateEvidence

public void generateEvidence(IndentWriter writer)
Specified by:
generateEvidence in interface TRTrackerAnnouncer