use super::JobId;
use super::status::StatusSnapshot;
use rkyv::Archive;
use rkyv::Deserialize;
use rkyv::Serialize;
#[derive(Archive, Serialize, Deserialize, Debug, Clone, Copy, PartialEq, Eq)]
#[rkyv(derive(Debug))]
pub enum ErrorKind {
ProtocolMismatch,
InvalidRequest,
DaemonBusy,
JobNotFound,
InternalError,
}
#[derive(Archive, Serialize, Deserialize, Debug, Clone)]
#[rkyv(derive(Debug))]
pub enum Response {
JobAccepted { job_id: JobId, position: u32 },
Status(StatusSnapshot),
Stopping,
Ack,
Error { kind: ErrorKind, message: String },
}