Interface PEPiece

  • All Known Implementing Classes:
    PEPieceImpl, PiecesViewBase.PEPieceUploading

    public interface PEPiece
    Represents a Peer Piece and the status of its different blocks (un-requested, requested, downloaded, written).
    • Method Detail

      • getPieceNumber

        int getPieceNumber()
      • getLength

        int getLength()
      • getNbBlocks

        int getNbBlocks()
      • getBlockNumber

        int getBlockNumber​(int offset)
        Parameters:
        offset - int bytes into piece
        Returns:
        block int number corresponding to given offset
      • getBlockSize

        int getBlockSize​(int block_index)
      • getCreationTime

        long getCreationTime()
        The time the pePiece was [re]created
      • getTimeSinceLastActivity

        long getTimeSinceLastActivity()
        How many ms since a write to the piece, or since the piece was created if no last write time is known. The return value will be 0 when there's no writes and the piece is new.
        Returns:
        long
      • getLastDownloadTime

        long getLastDownloadTime​(long now)
      • addWrite

        void addWrite​(int blockNumber,
                      java.lang.String sender,
                      byte[] hash,
                      boolean correct)
        record details of a piece's blocks that have been completed for bad peer detection purposes
        Parameters:
        blockNumber -
        sender -
        hash -
        correct -
      • getNbWritten

        int getNbWritten()
      • getAvailability

        int getAvailability()
      • hasUnrequestedBlock

        boolean hasUnrequestedBlock()
      • getAndMarkBlocks

        int[] getAndMarkBlocks​(PEPeer peer,
                               int nbWanted,
                               int[] request_hint,
                               boolean reverse_order)
      • getAndMarkBlock

        void getAndMarkBlock​(PEPeer peer,
                             int index)
      • getRealTimeData

        java.lang.Object getRealTimeData()
      • setRealTimeData

        void setRealTimeData​(java.lang.Object o)
      • setRequested

        boolean setRequested​(PEPeer peer,
                             int blockNumber)
      • clearRequested

        void clearRequested​(int blocNumber)
      • isRequested

        boolean isRequested​(int blockNumber)
      • isRequested

        boolean isRequested()
      • setRequested

        void setRequested()
      • isRequestable

        boolean isRequestable()
      • getNbRequests

        int getNbRequests()
      • getNbUnrequested

        int getNbUnrequested()
      • isDownloaded

        boolean isDownloaded​(int blockNumber)
      • setDownloaded

        void setDownloaded​(int offset)
      • clearDownloaded

        void clearDownloaded​(int offset)
      • isDownloaded

        boolean isDownloaded()
      • getDownloaded

        boolean[] getDownloaded()
      • hasUndownloadedBlock

        boolean hasUndownloadedBlock()
      • getReservedBy

        java.lang.String getReservedBy()
      • setReservedBy

        void setReservedBy​(java.lang.String peer)
      • getResumePriority

        int getResumePriority()
        Returns:
        int ResumePriority (startPriority + resuming adjustments)
      • setResumePriority

        void setResumePriority​(int p)
        Parameters:
        p - the Resume Priority to set, for display purposes
      • getWriters

        java.lang.String[] getWriters()
      • setWritten

        void setWritten​(java.lang.String peer,
                        int blockNumber)
      • isWritten

        boolean isWritten()
      • isWritten

        boolean isWritten​(int blockNumber)
      • getSpeed

        int getSpeed()
      • setSpeed

        void setSpeed​(int speed)
      • setLastRequestedPeerSpeed

        void setLastRequestedPeerSpeed​(int speed)
      • reset

        void reset()
      • getString

        java.lang.String getString()