mirror of
https://github.com/lanyeeee/bilibili-video-downloader.git
synced 2026-09-08 17:16:52 +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),
|
_ = restart_receiver.changed() => break Ok(self.chunk_index),
|
||||||
|
|
||||||
_ = delete_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);
|
tracing::error!(err_title, message);
|
||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
|
// TODO: 应该先发删除新号再删文件
|
||||||
|
// 因为发信号失败会把任务重新塞回去
|
||||||
|
// 目前先删文件会导致发信号失败时出现 任务还在但文件没了的情况
|
||||||
if let Err(err) = self.delete_progress_file(task_id) {
|
if let Err(err) = self.delete_progress_file(task_id) {
|
||||||
let err_title = "删除下载任务失败";
|
let err_title = "删除下载任务失败";
|
||||||
let message = err.to_message();
|
let message = err.to_message();
|
||||||
|
|||||||
@@ -438,6 +438,10 @@ impl DownloadTask {
|
|||||||
let updated_progress = {
|
let updated_progress = {
|
||||||
let mut progress = self.progress.write();
|
let mut progress = self.progress.write();
|
||||||
update_fn(&mut progress);
|
update_fn(&mut progress);
|
||||||
|
// TODO: 这里应该返回 progress.clone()
|
||||||
|
// 专门用一个 {} 框出来就是为了避免在emit和save期间仍持有写锁
|
||||||
|
// 然而这里弄错了progress的类型
|
||||||
|
// 错把progress当成了DownloadProgress,实则类型为RwLockWriteGuard
|
||||||
progress
|
progress
|
||||||
};
|
};
|
||||||
// 发送更新事件并保存到文件
|
// 发送更新事件并保存到文件
|
||||||
|
|||||||
Reference in New Issue
Block a user