本文整理汇总了Java中org.gudy.azureus2.core3.download.DownloadManager.setUserData方法的典型用法代码示例。如果您正苦于以下问题:Java DownloadManager.setUserData方法的具体用法?Java DownloadManager.setUserData怎么用?Java DownloadManager.setUserData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.gudy.azureus2.core3.download.DownloadManager
的用法示例。
在下文中一共展示了DownloadManager.setUserData方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: announceAll
import org.gudy.azureus2.core3.download.DownloadManager; //导入方法依赖的package包/类
protected void announceAll(
boolean force) {
Logger.log(new LogEvent(LOGID, "Updating trackers"));
GlobalManager gm = getGlobalManager();
if (gm != null) {
List downloads = gm.getDownloadManagers();
long now = SystemTime.getCurrentTime();
for (int i = 0; i < downloads.size(); i++) {
DownloadManager dm = (DownloadManager) downloads.get(i);
Long last_announce_l = (Long) dm.getUserData(DM_ANNOUNCE_KEY);
long last_announce = last_announce_l == null ? create_time : last_announce_l.longValue();
TRTrackerAnnouncer an = dm.getTrackerClient();
if (an != null) {
TRTrackerAnnouncerResponse last_announce_response = an.getLastResponse();
if (now - last_announce > 15 * 60 * 1000
|| last_announce_response == null
|| last_announce_response.getStatus() == TRTrackerAnnouncerResponse.ST_OFFLINE
|| force) {
dm.setUserData(DM_ANNOUNCE_KEY, new Long(now));
Logger.log(new LogEvent(LOGID, " updating tracker for " + dm.getDisplayName()));
dm.requestTrackerAnnounce(true);
}
}
}
}
PluginInterface dht_tracker_pi = getPluginManager().getPluginInterfaceByClass(DHTTrackerPlugin.class);
if (dht_tracker_pi != null) {
((DHTTrackerPlugin) dht_tracker_pi.getPlugin()).announceAll();
}
}