Expand description
§atomic_progress
A high-performance, thread-safe, and cloneable progress tracking library.
atomic_progress provides primitives for tracking the state of long-running operations.
It is designed to be:
- Headless: It stores state (position, total, time) but does not enforce a specific rendering implementation.
- Concurrent: Progress handles are cheap to clone ([
Arc]-based) and safe to share across threads. - Low Overhead: Uses atomic primitives for hot-path updates (incrementing position) and coarse-grained locking ([
RwLock]) for cold paths (metadata, snapshots).
§Modules
builder: Fluent interface for constructing complexProgressinstances.io: Wrappers forstd::io::Readandstd::io::Writethat track progress automatically.iter: Extension traits for tracking progress on Iterators.progress: The coreProgressstate machine and snapshot logic.stack: A collection for managing multiple progress indicators simultaneously.
Re-exports§
pub use builder::ProgressBuilder;pub use iter::ProgressIter;pub use iter::ProgressIteratorExt;pub use progress::Progress;pub use progress::ProgressSnapshot;pub use progress::ProgressType;pub use stack::ProgressStack;pub use stack::ProgressStackSnapshot;