Skip to main content

steamroom_cli/daemon/proto/
status.rs

1use super::JobId;
2use super::JobKind;
3use super::ProgressUpdate;
4use rkyv::Archive;
5use rkyv::Deserialize;
6use rkyv::Serialize;
7
8#[derive(Archive, Serialize, Deserialize, Debug, Clone, serde::Serialize, serde::Deserialize)]
9#[rkyv(derive(Debug))]
10pub struct JobRecord {
11    pub job_id: JobId,
12    pub kind: JobKind,
13    pub args_summary: String,
14    pub priority: bool,
15    pub submitted_at: u64,
16    pub started_at: Option<u64>,
17    pub finished_at: Option<u64>,
18    pub exit_code: Option<i32>,
19    pub progress: Option<ProgressUpdate>,
20}
21
22#[derive(Archive, Serialize, Deserialize, Debug, Clone)]
23#[rkyv(derive(Debug))]
24pub struct StatusSnapshot {
25    pub daemon_pid: u32,
26    pub daemon_started_at: u64,
27    pub account: Option<String>,
28    pub active: Option<JobRecord>,
29    pub queue: Vec<JobRecord>,
30    pub recent: Vec<JobRecord>,
31}