Class RDResumeHandler

java.lang.Object
com.biglybt.core.disk.impl.resume.RDResumeHandler

public class RDResumeHandler extends Object
  • Field Details

    • LOGID

      private static final LogIDs LOGID
    • TEST_RECHECK_FAILURE_HANDLING

      private static final boolean TEST_RECHECK_FAILURE_HANDLING
      See Also:
    • PIECE_NOT_DONE

      public static final byte PIECE_NOT_DONE
      See Also:
    • PIECE_DONE

      public static final byte PIECE_DONE
      See Also:
    • PIECE_RECHECK_REQUIRED

      public static final byte PIECE_RECHECK_REQUIRED
      See Also:
    • PIECE_STARTED

      public static final byte PIECE_STARTED
      See Also:
    • use_fast_resume_recheck_all

      static boolean use_fast_resume_recheck_all
    • skip_comp_dl_file_checks

      static boolean skip_comp_dl_file_checks
    • skip_incomp_dl_file_checks

      static boolean skip_incomp_dl_file_checks
    • disk_manager

      final DiskManagerImpl disk_manager
    • checker

      final DMChecker checker
    • started

      private volatile boolean started
    • stopped

      private volatile boolean stopped
    • stopped_for_close

      private volatile boolean stopped_for_close
    • check_in_progress

      private volatile boolean check_in_progress
    • check_resume_was_valid

      private volatile boolean check_resume_was_valid
    • check_is_full_check

      private volatile boolean check_is_full_check
    • check_interrupted

      private volatile boolean check_interrupted
    • check_cancelled

      private volatile boolean check_cancelled
    • check_position

      private volatile int check_position
  • Constructor Details

  • Method Details

    • start

      public void start()
    • stop

      public void stop(boolean closing)
    • checkAllPieces

      public void checkAllPieces(boolean newfiles, boolean forceRecheck, RDResumeHandler.ProgressListener listener)
    • saveResumeData

      public void saveResumeData(boolean interim_save) throws Exception
      Throws:
      Exception
    • getResumeData

      private Map getResumeData()
    • saveResumeData

      private void saveResumeData(Map resume_data)
    • isCancelled

      public boolean isCancelled()
    • getResumeData

      protected static Map getResumeData(DownloadManager download_manager)
    • getResumeData

      protected static Map getResumeData(DownloadManagerState download_manager_state)
    • saveResumeData

      private static void saveResumeData(DownloadManagerState download_manager_state, Map resume_data)
    • setTorrentResumeDataComplete

      public static void setTorrentResumeDataComplete(DownloadManagerState download_manager_state)
    • clearResumeDataSupport

      private static int clearResumeDataSupport(DownloadManager download_manager, DiskManagerFileInfo file, boolean recheck, boolean onlyClearUnsharedFirstLast)
    • findFirstFileWithPieceN

      private static int findFirstFileWithPieceN(int firstPiece, DiskManagerFileInfo[] files)
      finds the first affected file via binary search, this is necessary as some methods might be invoked for all files, which would result in O(n²) if we'd scan the whole file array every time
    • fileMustExist

      public static boolean fileMustExist(DownloadManager download_manager, DiskManagerFileInfo file)
      Deprecated.
      Kept for xmwebui
    • fileMustExist

      public static boolean fileMustExist(DownloadManager download_manager, DiskManagerFileInfoSet fileSet, DiskManagerFileInfo file)
    • storageTypeChanged

      public static int storageTypeChanged(DownloadManager download_manager, DiskManagerFileInfo file)
    • clearResumeData

      public static void clearResumeData(DownloadManager download_manager, DiskManagerFileInfo file)
    • recheckFile

      public static void recheckFile(DownloadManager download_manager, DiskManagerFileInfo file)
    • setTorrentResumeTotallyIncomplete

      public static void setTorrentResumeTotallyIncomplete(DownloadManagerState download_manager_state)
    • setTorrentResumeDataNearlyComplete

      public static void setTorrentResumeDataNearlyComplete(DownloadManagerState download_manager_state)
    • isTorrentResumeDataComplete

      public static boolean isTorrentResumeDataComplete(DownloadManagerState dms)
    • isTorrentResumeDataValid

      public static boolean isTorrentResumeDataValid(DownloadManagerState dms)
    • isTorrentResumeDataComplete

      private static boolean isTorrentResumeDataComplete(int piece_count, Map resume_data)
    • setupPieces

      public static void setupPieces(DownloadManagerState dms, DiskManagerPiece[] pieces)