package lbms.plugins.mldht.azureus; import java.net.URL; import java.util.Collection; import java.util.Map; import lbms.plugins.mldht.kad.DBItem; import org.gudy.azureus2.plugins.download.Download; import org.gudy.azureus2.plugins.download.DownloadAnnounceResult; import org.gudy.azureus2.plugins.download.DownloadAnnounceResultPeer; /** * @author Damokles * */ public class DHTAnnounceResult implements DownloadAnnounceResult { private Download dl; private Collection<DBItem> peers; private DownloadAnnounceResultPeer[] resultPeers; public DHTAnnounceResult (Download dl, Collection<DBItem> peers) { this.dl = dl; this.peers = peers; } /** * Converts the DBItems into DHTPeers */ private void convertPeers () { resultPeers = new DownloadAnnounceResultPeer[peers.size()]; int i = 0; for(DBItem it : peers) resultPeers[i++] = new DHTPeer(it); } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getDownload() */ public Download getDownload () { return dl; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getError() */ public String getError () { return null; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getExtensions() */ public Map getExtensions () { return null; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getNonSeedCount() */ public int getNonSeedCount () { return 0; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getPeers() */ public DownloadAnnounceResultPeer[] getPeers () { if (resultPeers == null) { convertPeers(); } return resultPeers; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getReportedPeerCount() */ public int getReportedPeerCount () { return 0; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getResponseType() */ public int getResponseType () { return DownloadAnnounceResult.RT_SUCCESS; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getSeedCount() */ public int getSeedCount () { return 0; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getTimeToWait() */ public long getTimeToWait () { return 0; } /* (non-Javadoc) * @see org.gudy.azureus2.plugins.download.DownloadAnnounceResult#getURL() */ public URL getURL () { return null; } }