/*
* File : DownloadAnnounceResult.java
* Created : 12-Jan-2004
* By : parg
*
* Azureus - a Java Bittorrent client
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details ( see the LICENSE file ).
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package org.gudy.azureus2.plugins.download;
import java.net.URL;
import java.util.Map;
/**
* @author parg
* This class represents the results of an "announce" made to a tracker.
*/
public interface
DownloadAnnounceResult
{
public static final int RT_SUCCESS = 1;
public static final int RT_ERROR = 2;
/**
* Gives access to the Download associated with this announce result
* @return
*
* @since 2.0.7.0
*/
public Download
getDownload();
/**
* The response may represent a successful or failed announce
* @return either RT_SUCCESS or RT_ERROR
*
* @since 2.0.7.0
*/
public int
getResponseType();
/**
* For RT_SUCCESS this gives the number of peers returned by the tracker
* @return
*
* @since 2.0.7.0
*/
public int
getReportedPeerCount(); // number returned by the announce
/**
* This method gives the number of seeds we know about (and may have received
* from a succession of announces).
*
* @return
*
* @since 2.0.7.0
*
* @note This is not the number of seeds that the tracker knows about, even
* when the tracker returns the total seeds it knows of within
* its announce results. Use DownloadScrapeResult to retrieve that
* value.
*/
public int
getSeedCount(); // seeds we know about
/**
* This method gives the number of non-seeds (peers) we know about
* @return
*
* @since 2.0.7.0
*
* @note This is not the number of non-seeds that the tracker knows about,
* even when the tracker returns the total non-seeds it knows of within
* its announce results. Use DownloadScrapeResult to retrieve that
* value.
*/
public int
getNonSeedCount(); // non-seeds we know about
/**
* For RT_ERROR this gives error details
* @return
*
* @since 2.0.7.0
*/
public String
getError();
/**
* The URL for the tracker.
* @return WILL BE NULL if the torrent isn't running
*/
public URL
getURL();
public DownloadAnnounceResultPeer[]
getPeers();
public long
getTimeToWait();
public Map
getExtensions();
}