Crate atomic_progress

Crate atomic_progress 

Source
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 complex Progress instances.
  • io: Wrappers for std::io::Read and std::io::Write that track progress automatically.
  • iter: Extension traits for tracking progress on Iterators.
  • progress: The core Progress state 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;

Modules§

builder
Fluent interface for constructing Progress instances.
io
I/O wrappers for tracking data transfer.
iter
Iterator adapters for automatic progress tracking.
progress
Core primitives for tracking progress state.
stack
A thread-safe collection for managing multiple progress indicators.