INNER CODE UNIT · Rust

resume_task

HemantKArya/BloomeeTunes · rust/src/api/downloader/mod.rs:284

    pub async fn resume_task(&self, task_id: String) -> bool {
        let Some(task) = self.get_task(&task_id) else { return false };

        let should_spawn = {
            let mut g = match task.lock() {
                Ok(g) => g,
                Err(_) => return false,
            };
            let resumable = matches!(
                g.persisted.state,
                DownloadTaskState::Paused | DownloadTaskState::Failed | DownloadTaskState::Queued
            );
            if resumable {
                g.pause_requested.store(false, Ordering::Release);
                g.cancel_requested.store(false, Ordering::Release);
                g.delete_partial_on_cancel.store(false, Ordering::Release);
                g.persisted.state = DownloadTaskState::Queued;
                g.persisted.message = Some("Queued".to_string());

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…