Class DownloadStatsImpl

    • Constructor Detail

    • Method Detail

      • getStatus

        public java.lang.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 java.lang.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 java.lang.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 java.lang.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 java.lang.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
      • resetUploadedDownloaded

        public void resetUploadedDownloaded​(long new_up,
                                            long new_down)
        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
        Returns:
      • getRemaining

        public long getRemaining()
        Description copied from interface: DownloadStats
        Gives number of bytes remaining. *Includes* DND files
        Specified by:
        getRemaining in interface DownloadStats
      • 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
        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:
      • 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
        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 java.lang.String getElapsedTime()
        Description copied from interface: DownloadStats
        Gives the elapsed download time as a string
        Specified by:
        getElapsedTime in interface DownloadStats
        Returns:
      • getETA

        public java.lang.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.
        < 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:
      • getAvailability

        public float getAvailability()
        Description copied from interface: DownloadStats
        Gives the currently seen availability of the torrent
        Specified by:
        getAvailability in interface DownloadStats
        Returns:
      • 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
      • 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
      • 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
      • 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