mirror of
https://github.com/lanyeeee/bilibili-video-downloader.git
synced 2026-05-06 20:02:57 +08:00
chore: 添加一些TODO注释
This commit is contained in:
@@ -67,7 +67,10 @@ impl DownloadChunkTask {
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// FIXME: 直接返回chunk_index存在进度误标风险
|
||||
// 上层会将这个分片标记为已下载,而分片其实是被打断的
|
||||
// 应该把返回值改成 enum DownloadChunkResult { Downloaded(idx), Interrupted }
|
||||
// 然后由上层处理
|
||||
_ = restart_receiver.changed() => break Ok(self.chunk_index),
|
||||
|
||||
_ = delete_receiver.changed() => break Ok(self.chunk_index),
|
||||
|
||||
@@ -158,7 +158,9 @@ impl DownloadManager {
|
||||
tracing::error!(err_title, message);
|
||||
continue;
|
||||
};
|
||||
|
||||
// TODO: 应该先发删除新号再删文件
|
||||
// 因为发信号失败会把任务重新塞回去
|
||||
// 目前先删文件会导致发信号失败时出现 任务还在但文件没了的情况
|
||||
if let Err(err) = self.delete_progress_file(task_id) {
|
||||
let err_title = "删除下载任务失败";
|
||||
let message = err.to_message();
|
||||
|
||||
@@ -438,6 +438,10 @@ impl DownloadTask {
|
||||
let updated_progress = {
|
||||
let mut progress = self.progress.write();
|
||||
update_fn(&mut progress);
|
||||
// TODO: 这里应该返回 progress.clone()
|
||||
// 专门用一个 {} 框出来就是为了避免在emit和save期间仍持有写锁
|
||||
// 然而这里弄错了progress的类型
|
||||
// 错把progress当成了DownloadProgress,实则类型为RwLockWriteGuard
|
||||
progress
|
||||
};
|
||||
// 发送更新事件并保存到文件
|
||||
|
||||
Reference in New Issue
Block a user