progress_tracking/src/lib.rs (14 lines of code) (raw):
pub mod aggregator;
pub mod item_tracking;
mod no_op_tracker;
mod progress_info;
pub mod upload_tracking;
pub mod verification_wrapper;
use async_trait::async_trait;
pub use no_op_tracker::NoOpProgressUpdater;
pub use progress_info::{ItemProgressUpdate, ProgressUpdate};
/// The trait that a progress updater that reports per-item progress completion.
#[async_trait]
pub trait TrackingProgressUpdater: Send + Sync {
/// Register a set of updates as a list of ProgressUpdate instances, which
/// contain the name and progress information.
async fn register_updates(&self, updates: ProgressUpdate);
/// Flush any updates out, if needed
async fn flush(&self) {}
}