Interface PiecePicker

  • All Known Implementing Classes:
    PiecePickerImpl

    public interface PiecePicker
    • Method Detail

      • hasDownloadablePiece

        boolean hasDownloadablePiece()
      • getNeededUndonePieceChange

        long getNeededUndonePieceChange()
        Returns:
        long value indicated serial number of current count of changes to hasNeededUndonePiece. A method interesting in tracking changes can compare this with a locally stored value to determine if the hasNeededUndonePiece status has changed since the last check.
      • addHavePiece

        void addHavePiece​(PEPeer peer,
                          int pieceNumber)
      • updateAvailability

        void updateAvailability()
        This is called periodically by the peer control scheduler. It should not normally be called by other methods. It will update the global availability if neccesary and then update the derived information
      • getAvailability

        int[] getAvailability()
      • getAvailability

        int getAvailability​(int pieceNumber)
      • getMinAvailability

        float getMinAvailability()
      • getMaxAvailability

        int getMaxAvailability()
      • getAvgAvail

        float getAvgAvail()
      • getAvailWentBadTime

        long getAvailWentBadTime()
      • getMinAvailability

        float getMinAvailability​(int fileIndex)
      • getBytesUnavailable

        long getBytesUnavailable()
      • allocateRequests

        void allocateRequests()
      • isInEndGameMode

        boolean isInEndGameMode()
      • hasEndGameModeBeenAbandoned

        boolean hasEndGameModeBeenAbandoned()
      • clearEndGameChunks

        void clearEndGameChunks()
      • addEndGameChunks

        void addEndGameChunks​(PEPiece pePiece)
        adds all blocks in the piece to endGameModeChunks
        Parameters:
        pePiece -
      • removeFromEndGameModeChunks

        void removeFromEndGameModeChunks​(int pieceNumber,
                                         int offset)
      • getNumberOfPieces

        int getNumberOfPieces()
      • getNbPiecesDone

        int getNbPiecesDone()
      • setForcePiece

        void setForcePiece​(int pieceNumber,
                           boolean forced)
      • isForcePiece

        boolean isForcePiece​(int pieceNumber)
      • setGlobalRequestHint

        void setGlobalRequestHint​(int piece_number,
                                  int start_bytes,
                                  int byte_count)
      • getGlobalRequestHint

        int[] getGlobalRequestHint()
      • setReverseBlockOrder

        void setReverseBlockOrder​(boolean is_reverse)
      • getReverseBlockOrder

        boolean getReverseBlockOrder()
      • getRTAProviders

        java.util.List getRTAProviders()
      • getPriorityProviders

        java.util.List getPriorityProviders()
      • setSequentialAscendingFrom

        void setSequentialAscendingFrom​(int start_piece)
      • setSequentialDescendingFrom

        void setSequentialDescendingFrom​(int start_piece)
      • clearSequential

        void clearSequential()
      • getSequentialInfo

        int getSequentialInfo()
        Returns:
        0 - inactive; +ve -> ascending from (n-1) -ve -> descending from (-n+1)
      • getEGMInfo

        java.lang.String getEGMInfo()
      • getEGMRequestCount

        int getEGMRequestCount​(int piece_number,
                               int block_number)
      • destroy

        void destroy()
      • generateEvidence

        void generateEvidence​(IndentWriter writer)
      • getPieceString

        java.lang.String getPieceString​(int piece_number)