aruna_file/
notifications.rs

1use 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}