Skip to main content

Module progress

Module progress 

Source
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§

CallbackReporter
A progress reporter backed by a user-supplied closure.
LoggingReporter
A progress reporter that logs events to a Vec for later inspection.
MultiReporter
Forwards events to multiple reporters.
NullReporter
A no-op progress reporter that discards all events.
ProgressTracker
Helper struct for tracking and emitting progress events from dedup algorithms.
ThrottledReporter
A progress reporter that throttles ItemProcessed and BatchProcessed events to at most one per interval_ms milliseconds.

Enums§

ProgressEvent
An event emitted during deduplication progress.

Traits§

ProgressReporter
Trait for receiving progress updates during deduplication.