package org.limewire.bittorrent; public interface TorrentStatus { /** * @return the rate in bytes/second that data is being downloaded for this * torrent. This includes payload and protocol overhead. */ public float getDownloadRate(); /** * @return the rate in byte/second that data is being uploaded for this * torrent. This includes payload and protocol overhead. */ public float getUploadRate(); /** * @return the rate in bytes/second that payload data is being downloaded * for this torrent. */ public float getDownloadPayloadRate(); /** * @return the rate in byte/second that payload data is being uploaded for * this torrent. */ public float getUploadPayloadRate(); /** * @return the number of peers for this torrent. */ public int getNumPeers(); /** * @return the number of unchoked peers for this torrent. */ public int getNumUploads(); /** * @return the number of peers for this torrent are active seeds. */ public int getNumSeeds(); /** * @return the total number of open connections for this torrent. */ public int getNumConnections(); /** * @return the progress for downloading this torrent. A number from 0.0 to * 1.0 representing 0 to 100%. */ public float getProgress(); /** * @return the total amount of the torrent downloaded and verified. */ public long getTotalDone(); /** * @return the total amount of the torrent downloaded. */ public long getAllTimePayloadDownload(); /** * @return the total amount of the torrent uploaded. */ public long getAllTimePayloadUpload(); /** * @return the number of bytes of download that have been discarded * due to error. */ public long getTotalFailedDownload(); /** * @return true if the torrent is paused. */ public boolean isPaused(); /** * @return true if the torrent is finished. */ public boolean isFinished(); /** * @return true if the torrent is in an error state. */ public boolean isError(); /** * @return the LibTorrentState for this torrent. */ public TorrentState getState(); /** * @return the seed ratio for this torrent. */ public float getSeedRatio(); /** * @return true if this torrent is automanaged. */ public boolean isAutoManaged(); /** * @return the amount of time the torrent has been seeding in seconds. */ public int getSeedingTime(); /** * @return the amount of time the torrent has been active in seconds. */ public int getActiveTime(); /** * @return the total number of bytes wanted to download. Some files in the * torrent might have been marked as not to download. Those files bytes will * not be included in this number. */ public long getTotalWanted(); /** * @return the total number of bytes wanted that have been downloaded. Some * files in the torrent might have been marked as not to download. Those * files bytes will not be included in this number. */ public long getTotalWantedDone(); /** * @return the internal error message for the torrent. If the torrent is in * an Error state. */ public String getError(); /** * @return the current tracker for this torrent, null if no * tracker was ever contacted. */ public String getCurrentTracker(); /** * @return Total number of peers that are seeding (complete). * -1 if no data from tracker */ public int getNumComplete(); /** * @return Total number of peers that are downloading (incomplete). * -1 if no data from tracker */ public int getNumIncomplete(); }