aruna_file/
notifications.rs1use crate::transformer::{FileContext, TransformerType};
2
3#[derive(Clone, Default, Debug, PartialEq, Eq, PartialOrd, Ord)]
4pub struct FileMessage {
5 pub context: FileContext,
6 pub is_last: bool,
7}
8#[derive(Clone, Default, Debug, PartialEq, Eq, PartialOrd, Ord)]
9pub struct FooterData {
10 pub chunks: Vec<u8>,
11}
12#[derive(Clone, Default, Debug, PartialEq, Eq, PartialOrd, Ord)]
13pub struct ProbeBroadcast {
14 pub message: String,
15}
16
17#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
18pub struct Message {
19 pub target: TransformerType,
20 pub data: MessageData,
21}
22
23#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord)]
24pub enum MessageData {
25 NextFile(FileMessage),
26 Footer(FooterData),
27 ProbeBroadcast(ProbeBroadcast),
28}
29
30#[derive(Clone, Default)]
31pub enum Response {
32 #[default]
33 Ok,
34}