Skip to content

Transfer Engine

This chapter explains the run lifecycle, file safety behavior, cancellation handling, and outcome reporting.

  1. Validation: Checks enabled rule completeness before touching files.
  2. Volume resolution: Enumerates mounted volumes and resolves selected sources.
  3. File count scan: Counts eligible files to set progress totals.
  4. Transfer loop: Processes matching files one at a time.
  5. Summary: Aggregates completed count, errors, and notices.
  • Copies file to destination.
  • Source remains unchanged.
  • Copies file to destination.
  • Computes SHA-256 on source and destination copy.
  • Deletes source only when hashes match.
  • Keeps source when hashes do not match and logs an error.

When destination filename already exists, app adds numeric suffix (example: IMG_0042-1.jpg).

  • Triggered by Stop button or Command + . shortcut.
  • Current task is cancelled.
  • Already completed items remain counted in summary.
  • RuleRunOutcome: per rule/volume completed files, errors, notices.
  • IngestAggregate: merged totals from all rule/volume runs.
  • IngestSummary: final status (completed, completedWithErrors, cancelled) and detail lines.

When log saving is enabled, each run writes a .txt log with:

  • run timestamp,
  • status,
  • completed count,
  • error count,
  • notice count,
  • full detail lines.
  • No content-hash dedupe before transfer.
  • Source subfolder tree is not preserved (destination is flat).
  • Scan totals can differ if source changes during run.
  • Keep source media static while a run is active for the most accurate totals.
  • Use Transfer mode only after destination validation.

Are “no matching files” treated as failures?

Section titled “Are “no matching files” treated as failures?”

No. They are recorded as notices and the run continues.

Yes. Completed files before cancellation remain completed.

For setup support, contact rockstarui.com/contact.