Class RPDownloadStats

java.lang.Object
com.biglybt.pifimpl.remote.RPObject
com.biglybt.pifimpl.remote.download.RPDownloadStats
All Implemented Interfaces:
DownloadStats, Serializable

public class RPDownloadStats extends RPObject implements DownloadStats
See Also:
  • Field Details

    • delegate

      protected transient DownloadStats delegate
    • downloaded

      public long downloaded
    • uploaded

      public long uploaded
    • completed

      public int completed
    • downloadCompletedLive

      public int downloadCompletedLive
    • downloadCompletedStored

      public int downloadCompletedStored
    • status

      public String status
    • status_localised

      public String status_localised
    • upload_average

      public long upload_average
    • download_average

      public long download_average
    • eta

      public String eta
    • share_ratio

      public int share_ratio
    • availability

      public float availability
    • bytesUnavailable

      public long bytesUnavailable
    • health

      public int health
  • Constructor Details

    • RPDownloadStats

      protected RPDownloadStats(DownloadStats _delegate)
  • Method Details

    • create

      public static RPDownloadStats create(DownloadStats _delegate)
    • _setDelegate

      protected void _setDelegate(Object _delegate)
      Overrides:
      _setDelegate in class RPObject
    • _setLocal

      public Object _setLocal() throws RPException
      Overrides:
      _setLocal in class RPObject
      Throws:
      RPException
    • _process

      public RPReply _process(RPRequest request)
      Overrides:
      _process in class RPObject
    • getStatus

      public String getStatus()
      Description copied from interface: DownloadStats
      Returns an overall string representing the state of the download
      Specified by:
      getStatus in interface DownloadStats
      Returns:
    • getStatus

      public String getStatus(boolean localised)
      Description copied from interface: DownloadStats
      Returns an overall string representing the state of the download *localised*
      Specified by:
      getStatus in interface DownloadStats
      Returns:
    • getDownloadDirectory

      public String getDownloadDirectory()
      Description copied from interface: DownloadStats
      Gives access to the directory into which the download is being saved
      Specified by:
      getDownloadDirectory in interface DownloadStats
      Returns:
    • getTargetFileOrDir

      public String getTargetFileOrDir()
      Description copied from interface: DownloadStats
      Gives access to the target file or directory that the download is being saved to
      Specified by:
      getTargetFileOrDir in interface DownloadStats
      Returns:
    • getTrackerStatus

      public String getTrackerStatus()
      Description copied from interface: DownloadStats
      returns an general status string for the tracker
      Specified by:
      getTrackerStatus in interface DownloadStats
      Returns:
    • getCompleted

      public int getCompleted()
      Description copied from interface: DownloadStats
      returns a value between 0 and 1000 giving the completion status of the current download task (e.g. checking, downloading)
      Specified by:
      getCompleted in interface DownloadStats
      Returns:
    • getDownloadCompleted

      public int getDownloadCompleted(boolean bLive)
      Description copied from interface: DownloadStats
      Retrieve the level of download completion, *including* DND files. If the user has one or more DND file, return value will never reach 1000.

      To understand the bLive parameter, you must know a bit about the Torrent activation process:
      1) Torrent goes into ST_WAITING
      2) Torrent moves to ST_PREPARING
      3) Torrent moves to ST_DOWNLOADING or ST_SEEDING

      While in ST_PREPARING, Completion Level is rebuilt (either via Fast Resume or via piece checking). Quite often, the download completion level before ST_PREPARING and after ST_PREPARING are identical.

      Before going into ST_PREPARING, we store the download completion level. If you wish to retrieve this value instead of the live "building" one, pass false for the parameter.

      Specified by:
      getDownloadCompleted in interface DownloadStats
      Parameters:
      bLive - true - Always returns the known completion level of the torrent false - In the case of ST_PREPARING, return completion level before of the torrent ST_PREPARING started. Otherwise, same as true.
      Returns:
      0 - 1000
    • getCheckingDoneInThousandNotation

      public int getCheckingDoneInThousandNotation()
      Description copied from interface: DownloadStats
      if isChecking then returns completeness, 1000 -> 100%
      Specified by:
      getCheckingDoneInThousandNotation in interface DownloadStats
      Returns:
    • resetUploadedDownloaded

      public void resetUploadedDownloaded(long l1, long l2)
      Description copied from interface: DownloadStats
      resets totals. stops and restarts torrent if running to do so
      Specified by:
      resetUploadedDownloaded in interface DownloadStats
    • getDownloaded

      public long getDownloaded()
      Description copied from interface: DownloadStats
      Gives the number of bytes downloaded
      Specified by:
      getDownloaded in interface DownloadStats
      Returns:
    • getDownloaded

      public long getDownloaded(boolean include_protocol)
      Specified by:
      getDownloaded in interface DownloadStats
      Parameters:
      include_protocol -
      Returns:
    • getUploaded

      public long getUploaded()
      Description copied from interface: DownloadStats
      Gives the number of bytes uploaded
      Specified by:
      getUploaded in interface DownloadStats
      Returns:
    • getUploaded

      public long getUploaded(boolean include_protocol)
      Specified by:
      getUploaded in interface DownloadStats
      Parameters:
      include_protocol -
      Returns:
    • getRemaining

      public long getRemaining()
      Description copied from interface: DownloadStats
      Gives number of bytes remaining. *Includes* DND files
      Specified by:
      getRemaining in interface DownloadStats
    • getDiscarded

      public long getDiscarded()
      Description copied from interface: DownloadStats
      Gives the number of bytes discarded. Does not include DownloadStats.getHashFails() (ex. end game mode where multiple peers send same block, et)
      Specified by:
      getDiscarded in interface DownloadStats
      Returns:
    • getDownloadAverage

      public long getDownloadAverage()
      Description copied from interface: DownloadStats
      Gives average number of bytes downloaded in last second
      Specified by:
      getDownloadAverage in interface DownloadStats
      Returns:
    • getDownloadAverage

      public long getDownloadAverage(boolean include_protocol)
      Specified by:
      getDownloadAverage in interface DownloadStats
      Parameters:
      include_protocol -
      Returns:
    • getUploadAverage

      public long getUploadAverage()
      Description copied from interface: DownloadStats
      Gives average number of bytes uploaded in last second
      Specified by:
      getUploadAverage in interface DownloadStats
      Returns:
    • getUploadAverage

      public long getUploadAverage(boolean include_protocol)
      Specified by:
      getUploadAverage in interface DownloadStats
      Parameters:
      include_protocol -
      Returns:
    • getTotalAverage

      public long getTotalAverage()
      Description copied from interface: DownloadStats
      Gives average number of bytes computed for torrent in last second
      Specified by:
      getTotalAverage in interface DownloadStats
      Returns:
    • getElapsedTime

      public String getElapsedTime()
      Description copied from interface: DownloadStats
      Gives the elapsed download time as a string
      Specified by:
      getElapsedTime in interface DownloadStats
      Returns:
    • getETA

      public String getETA()
      Description copied from interface: DownloadStats
      Gives the estimated time to completion as a string
      Specified by:
      getETA in interface DownloadStats
      Returns:
    • getETASecs

      public long getETASecs()
      Description copied from interface: DownloadStats
      ETA time in seconds.
      Specified by:
      getETASecs in interface DownloadStats
      Returns:
      0 = download is complete.
      invalid input: '<' 0 = download is complete and it took -xxx time to complete.
      -1 = unknown eta (no peer manager) or download completed 1s ago
      315360000000L = incomplete and 0 average speed
    • getHashFails

      public long getHashFails()
      Description copied from interface: DownloadStats
      Gives the number of bytes thrown away due to piece hash check fails
      Specified by:
      getHashFails in interface DownloadStats
      Returns:
    • getShareRatio

      public int getShareRatio()
      Description copied from interface: DownloadStats
      Gives the share ratio of the torrent in 1000ths (i.e. 1000 = share ratio of 1)
      Specified by:
      getShareRatio in interface DownloadStats
      Returns:
    • getTimeStarted

      public long getTimeStarted()
      Description copied from interface: DownloadStats
      in ms since epoch
      Specified by:
      getTimeStarted in interface DownloadStats
    • getAvailability

      public float getAvailability()
      Description copied from interface: DownloadStats
      Gives the currently seen availability of the torrent
      Specified by:
      getAvailability in interface DownloadStats
      Returns:
    • getSecondsDownloading

      public long getSecondsDownloading()
      Description copied from interface: DownloadStats
      Return the # of seconds that the torrent has been downloading. This number is totalled across sessions.
      Specified by:
      getSecondsDownloading in interface DownloadStats
      Returns:
      -1 if it has never downloaded
    • getSecondsOnlySeeding

      public long getSecondsOnlySeeding()
      Description copied from interface: DownloadStats
      Return the # of seconds that the torrent has been only seeding. This number is totalled across sessions, and does not include the time seeding during the download phase.
      Specified by:
      getSecondsOnlySeeding in interface DownloadStats
      Returns:
      -1 if it has never seeded
    • getTimeStartedSeeding

      public long getTimeStartedSeeding()
      Description copied from interface: DownloadStats
      Time that the torrent started seeding.
      Specified by:
      getTimeStartedSeeding in interface DownloadStats
      Returns:
      the difference, measured in milliseconds, between the torrent started seeding and midnight, January 1, 1970 UTC. see SystemTime.getCurrentTime(). -1 is not seeding
    • getSecondsSinceLastDownload

      public long getSecondsSinceLastDownload()
      Description copied from interface: DownloadStats
      Returns the number of seconds running time since data was downloaded, -1 if never
      Specified by:
      getSecondsSinceLastDownload in interface DownloadStats
      Returns:
    • getSecondsSinceLastUpload

      public long getSecondsSinceLastUpload()
      Description copied from interface: DownloadStats
      Returns the number of seconds running time since data was uploaded, -1 if never
      Specified by:
      getSecondsSinceLastUpload in interface DownloadStats
      Returns:
    • getHealth

      public int getHealth()
      Description copied from interface: DownloadStats
      returns an indication of the health of the torrent
      Specified by:
      getHealth in interface DownloadStats
      Returns:
      see above HEALTH constants
    • getBytesUnavailable

      public long getBytesUnavailable()
      Description copied from interface: DownloadStats
      Return the number of bytes of data fromt he torrent that is unavailable given the current sources (peers). Does not exclude DND files
      Specified by:
      getBytesUnavailable in interface DownloadStats
      Returns:
      -1 if could not be determined
    • getRemainingExcludingDND

      public long getRemainingExcludingDND()
      Specified by:
      getRemainingExcludingDND in interface DownloadStats