tcrm_task/tasks/
event.rs

1use crate::tasks::{config::StreamSource, error::TaskError, state::TaskTerminateReason};
2#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
3#[derive(Debug, Clone)]
4pub enum TaskEvent {
5    Started {
6        task_name: String,
7    },
8    Output {
9        task_name: String,
10        line: String,
11        src: StreamSource,
12    },
13    Ready {
14        task_name: String,
15    },
16    Stopped {
17        task_name: String,
18        exit_code: Option<i32>,
19        reason: TaskEventStopReason,
20    },
21    Error {
22        task_name: String,
23        error: TaskError,
24    },
25}
26#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
27#[derive(Debug, Clone, PartialEq)]
28pub enum TaskEventStopReason {
29    Finished,
30    Terminated(TaskTerminateReason),
31    Error(String),
32}