gosh_dl/protocol/
events.rs1use super::types::{DownloadId, DownloadProgress, DownloadState};
6use serde::{Deserialize, Serialize};
7
8#[derive(Debug, Clone, Serialize, Deserialize)]
10pub enum DownloadEvent {
11 Added { id: DownloadId },
13 Started { id: DownloadId },
15 Progress {
17 id: DownloadId,
18 progress: DownloadProgress,
19 },
20 StateChanged {
22 id: DownloadId,
23 old_state: DownloadState,
24 new_state: DownloadState,
25 },
26 Completed { id: DownloadId },
28 Failed {
30 id: DownloadId,
31 error: String,
32 retryable: bool,
33 },
34 Removed { id: DownloadId },
36 Paused { id: DownloadId },
38 Resumed { id: DownloadId },
40}