Expand description
Progress reporting callbacks for long-running deduplication operations.
Provides a ProgressReporter trait and concrete implementations for
monitoring the progress of DuplicateDetector::find_duplicates() and
similar batch operations in large media libraries.
§Example
use oximedia_dedup::progress::{ProgressReporter, ProgressEvent, LoggingReporter};
let reporter = LoggingReporter::new();
reporter.on_event(&ProgressEvent::PhaseStarted {
phase: "exact_hash",
total_items: 1000,
});
reporter.on_event(&ProgressEvent::ItemProcessed {
current: 500,
total: 1000,
});
reporter.on_event(&ProgressEvent::PhaseCompleted {
phase: "exact_hash",
groups_found: 42,
elapsed_ms: 1234,
});Structs§
- Callback
Reporter - A progress reporter backed by a user-supplied closure.
- Logging
Reporter - A progress reporter that logs events to a Vec for later inspection.
- Multi
Reporter - Forwards events to multiple reporters.
- Null
Reporter - A no-op progress reporter that discards all events.
- Progress
Tracker - Helper struct for tracking and emitting progress events from dedup algorithms.
- Throttled
Reporter - A progress reporter that throttles
ItemProcessedandBatchProcessedevents to at most one perinterval_msmilliseconds.
Enums§
- Progress
Event - An event emitted during deduplication progress.
Traits§
- Progress
Reporter - Trait for receiving progress updates during deduplication.