Expand description
§unistore-progress
进度报告能力 - UniStore 能力生态的一部分。
§功能特性
- 进度追踪: 追踪任务完成百分比
- ETA 估算: 基于历史速率估算剩余时间
- 消息更新: 支持动态更新进度消息
- 订阅机制: 观察者模式,支持多个监听者
- 多阶段支持: 支持嵌套进度(大任务包含小任务)
§快速开始
use unistore_progress::ProgressTracker;
// 创建进度追踪器(100 个任务)
let tracker = ProgressTracker::new(100);
// 更新进度
tracker.advance(10);
tracker.set_message("正在处理...");
// 获取当前状态
assert_eq!(tracker.current(), 10);
assert!((tracker.percentage() - 10.0).abs() < 0.001);
// 完成
tracker.finish();
assert!(tracker.is_finished());§多阶段进度
use unistore_progress::{MultiStageTracker, Stage};
let tracker = MultiStageTracker::new(vec![
Stage { name: "下载".into(), weight: 0.3, total: 100 },
Stage { name: "解压".into(), weight: 0.2, total: 50 },
Stage { name: "安装".into(), weight: 0.5, total: 200 },
]);
// 第一阶段进度
tracker.advance(0, 50);Structs§
- Multi
Stage Tracker - 多阶段进度追踪器
- Progress
Config - 进度追踪器配置
- Progress
Event - 进度事件
- Progress
Receiver - Receiving-half of the
broadcastchannel. - Progress
Tracker - 进度追踪器
- Stage
- 阶段信息
Enums§
- Progress
Error - 进度追踪错误
Type Aliases§
- Progress
Result - 进度追踪结果类型别名