unistore-progress 0.1.0

Progress tracking capability for UniStore
Documentation
# unistore-progress


进度报告能力 - UniStore 能力生态的一部分。

## 功能特性


- **进度追踪**: 追踪任务完成百分比
- **ETA 估算**: 基于历史速率估算剩余时间
- **消息更新**: 支持动态更新进度消息
- **订阅机制**: 观察者模式,支持多个监听者
- **子进度**: 支持嵌套进度(大任务包含小任务)

## 快速开始


```rust
use unistore_progress::{ProgressTracker, ProgressEvent};

// 创建进度追踪器
let tracker = ProgressTracker::new(100);

// 订阅进度更新
let mut rx = tracker.subscribe();
tokio::spawn(async move {
    while let Ok(event) = rx.recv().await {
        println!("进度: {:.1}% - {}", event.percentage(), event.message());
    }
});

// 更新进度
tracker.advance(10);
tracker.set_message("正在处理文件...");
tracker.advance(40);

// 完成
tracker.finish();
```

## 与 UniStore 集成


```rust
use unistore_progress::ProgressTracker;

async fn process_files(files: Vec<PathBuf>) -> Result<(), Error> {
    let tracker = ProgressTracker::new(files.len() as u64);
    
    for file in files {
        tracker.set_message(format!("处理: {}", file.display()));
        process_file(&file).await?;
        tracker.advance(1);
    }
    
    tracker.finish();
    Ok(())
}
```

## License


MIT OR Apache-2.0