Class TRTrackerAnnouncerMuxer
- java.lang.Object
-
- com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerImpl
-
- com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerMuxer
-
- All Implemented Interfaces:
TRTrackerAnnouncer
public class TRTrackerAnnouncerMuxer extends TRTrackerAnnouncerImpl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TRTrackerAnnouncerMuxer.StatusSummary
-
Nested classes/interfaces inherited from class com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerImpl
TRTrackerAnnouncerImpl.Helper
-
-
Field Summary
-
Fields inherited from class com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerImpl
listeners, LOGID, tracker_peer_cache
-
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 Modifier Constructor Description protected
TRTrackerAnnouncerMuxer(TOTorrent _torrent, TRTrackerAnnouncerFactory.DataProvider _f_provider, boolean _manual)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkActivation(boolean force)
void
clearIPOverride()
void
complete(boolean already_reported)
private TRTrackerAnnouncerHelper
create(TOTorrent torrent, java.lang.String[] networks, TOTorrentAnnounceURLSet[] sets)
void
destroy()
protected void
forceStop(TRTrackerBTAnnouncerImpl announcer, java.lang.String[] networks, java.net.URL url)
void
generateEvidence(IndentWriter writer)
protected TRTrackerAnnouncerHelper
getBestActive()
protected TRTrackerAnnouncerHelper
getBestActiveSupport()
TRTrackerAnnouncer
getBestAnnouncer()
TRTrackerAnnouncerResponse
getLastResponse()
int
getLastUpdateTime()
Last Update Time in secondsprotected int
getPeerCacheLimit()
int
getStatus()
java.lang.String
getStatusString()
private java.lang.String
getString(TOTorrentAnnounceURLSet[] sets)
int
getTimeUntilNextUpdate()
private HashWrapper
getTorrentHashOverride()
TrackerPeerSource
getTrackerPeerSource(TOTorrentAnnounceURLSet set)
Gets a delegate tracker peer source for reporting againstjava.net.URL
getTrackerURL()
protected void
informResponse(TRTrackerAnnouncerHelper helper, TRTrackerAnnouncerRequest request, TRTrackerAnnouncerResponse response)
boolean
isManual()
void
refreshListeners()
This method forces all listeners to get an explicit "urlChanged" event to get them to re-examine the trackervoid
resetTrackerUrl(boolean shuffle)
private boolean
same(TOTorrentAnnounceURLSet[] s1, TOTorrentAnnounceURLSet[] s2)
private boolean
sameSupport(TOTorrentAnnounceURLSet[] s1, TOTorrentAnnounceURLSet[] s2)
void
setAnnounceDataProvider(TRTrackerAnnouncerDataProvider _provider)
void
setAnnounceResult(DownloadAnnounceResult result)
void
setIPOverride(java.lang.String override)
void
setRefreshDelayOverrides(int percentage)
void
setTrackerURL(java.net.URL url)
protected void
setupActivationCheck(int delay)
protected void
split(boolean first_time)
void
stop(boolean for_queue)
void
update(boolean force)
-
Methods inherited from class com.biglybt.core.tracker.client.impl.TRTrackerAnnouncerImpl
addListener, addToTrackerCache, exportTrackerCache, getCacheTrackerPeerSource, getHelper, getPeerId, getPeersFromCache, getTorrent, getTrackerResponseCache, importTrackerCache, informURLRefresh, mergeResponseCache, removeFromTrackerResponseCache, removeListener, setTrackerResponseCache
-
-
-
-
Field Detail
-
ACT_CHECK_INIT_DELAY
private static final int ACT_CHECK_INIT_DELAY
- See Also:
- Constant Field Values
-
ACT_CHECK_INTERIM_DELAY
private static final int ACT_CHECK_INTERIM_DELAY
- See Also:
- Constant Field Values
-
ACT_CHECK_IDLE_DELAY
private static final int ACT_CHECK_IDLE_DELAY
- See Also:
- Constant Field Values
-
ACT_CHECK_SEEDING_SHORT_DELAY
private static final int ACT_CHECK_SEEDING_SHORT_DELAY
- See Also:
- Constant Field Values
-
ACT_CHECK_SEEDING_LONG_DELAY
private static final int ACT_CHECK_SEEDING_LONG_DELAY
- See Also:
- Constant Field Values
-
ACT_CHECK_NOT_SMART_DELAY
private static final int ACT_CHECK_NOT_SMART_DELAY
- See Also:
- Constant Field Values
-
smart_activation
private static boolean smart_activation
-
f_provider
private TRTrackerAnnouncerFactory.DataProvider f_provider
-
is_manual
private boolean is_manual
-
create_time
private final long create_time
-
announcers
private final CopyOnWriteList<TRTrackerAnnouncerHelper> announcers
-
activated
private final java.util.Set<TRTrackerAnnouncerHelper> activated
-
last_activation_time
private long last_activation_time
-
failed_urls
private final java.util.Set<java.lang.String> failed_urls
-
event
private volatile TimerEvent event
-
provider
private TRTrackerAnnouncerDataProvider provider
-
ip_override
private java.lang.String ip_override
-
complete
private boolean complete
-
stopped
private boolean stopped
-
destroyed
private boolean destroyed
-
current_networks
private java.lang.String[] current_networks
-
last_best_active
private TRTrackerAnnouncerHelper last_best_active
-
last_best_active_set_time
private long last_best_active_set_time
-
recent_responses
final java.util.Map<java.lang.String,TRTrackerAnnouncerMuxer.StatusSummary> recent_responses
-
last_response_informed
private TRTrackerAnnouncerResponse last_response_informed
-
-
Constructor Detail
-
TRTrackerAnnouncerMuxer
protected TRTrackerAnnouncerMuxer(TOTorrent _torrent, TRTrackerAnnouncerFactory.DataProvider _f_provider, boolean _manual) throws TRTrackerAnnouncerException
- Throws:
TRTrackerAnnouncerException
-
-
Method Detail
-
split
protected void split(boolean first_time) throws TRTrackerAnnouncerException
- Throws:
TRTrackerAnnouncerException
-
setupActivationCheck
protected void setupActivationCheck(int delay)
-
checkActivation
protected void checkActivation(boolean force)
-
getString
private java.lang.String getString(TOTorrentAnnounceURLSet[] sets)
-
same
private boolean same(TOTorrentAnnounceURLSet[] s1, TOTorrentAnnounceURLSet[] s2)
-
sameSupport
private boolean sameSupport(TOTorrentAnnounceURLSet[] s1, TOTorrentAnnounceURLSet[] s2)
-
forceStop
protected void forceStop(TRTrackerBTAnnouncerImpl announcer, java.lang.String[] networks, java.net.URL url)
-
create
private TRTrackerAnnouncerHelper create(TOTorrent torrent, java.lang.String[] networks, TOTorrentAnnounceURLSet[] sets) throws TRTrackerAnnouncerException
- Throws:
TRTrackerAnnouncerException
-
getLastResponse
public TRTrackerAnnouncerResponse getLastResponse()
-
informResponse
protected void informResponse(TRTrackerAnnouncerHelper helper, TRTrackerAnnouncerRequest request, TRTrackerAnnouncerResponse response)
- Overrides:
informResponse
in classTRTrackerAnnouncerImpl
-
isManual
public boolean isManual()
-
setAnnounceDataProvider
public void setAnnounceDataProvider(TRTrackerAnnouncerDataProvider _provider)
-
getBestActive
protected TRTrackerAnnouncerHelper getBestActive()
-
getBestActiveSupport
protected TRTrackerAnnouncerHelper getBestActiveSupport()
-
getTorrentHashOverride
private HashWrapper getTorrentHashOverride()
-
getTrackerURL
public java.net.URL getTrackerURL()
-
setTrackerURL
public void setTrackerURL(java.net.URL url)
-
resetTrackerUrl
public void resetTrackerUrl(boolean shuffle)
-
setIPOverride
public void setIPOverride(java.lang.String override)
-
clearIPOverride
public void clearIPOverride()
-
setRefreshDelayOverrides
public void setRefreshDelayOverrides(int percentage)
-
getTimeUntilNextUpdate
public int getTimeUntilNextUpdate()
-
getLastUpdateTime
public int getLastUpdateTime()
Description copied from interface:TRTrackerAnnouncer
Last Update Time in seconds
-
update
public void update(boolean force)
-
complete
public void complete(boolean already_reported)
-
stop
public void stop(boolean for_queue)
-
destroy
public void destroy()
-
getStatus
public int getStatus()
-
getStatusString
public java.lang.String getStatusString()
-
getBestAnnouncer
public TRTrackerAnnouncer getBestAnnouncer()
-
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
-
setAnnounceResult
public void setAnnounceResult(DownloadAnnounceResult result)
-
getPeerCacheLimit
protected int getPeerCacheLimit()
- Specified by:
getPeerCacheLimit
in classTRTrackerAnnouncerImpl
-
getTrackerPeerSource
public TrackerPeerSource getTrackerPeerSource(TOTorrentAnnounceURLSet set)
Description copied from interface:TRTrackerAnnouncer
Gets a delegate tracker peer source for reporting against- Returns:
-
generateEvidence
public void generateEvidence(IndentWriter writer)
-
-