2024-08-10 17:23:37 +08:00
|
|
|
use std::fmt::Display;
|
|
|
|
|
|
|
|
pub enum StreamMessage {
|
2024-08-11 20:39:25 +08:00
|
|
|
MessageId(i64),
|
2024-08-10 17:23:37 +08:00
|
|
|
IndexStart,
|
|
|
|
IndexEnd,
|
2024-08-11 20:39:25 +08:00
|
|
|
Text(String),
|
2024-08-10 17:23:37 +08:00
|
|
|
Done,
|
|
|
|
StartIndexFile { file_name: String },
|
|
|
|
EndIndexFile { file_name: String },
|
|
|
|
IndexFileError { file_name: String },
|
|
|
|
}
|
2024-08-11 20:39:25 +08:00
|
|
|
|
2024-08-10 17:23:37 +08:00
|
|
|
impl Display for StreamMessage {
|
|
|
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
|
|
|
match self {
|
2024-08-11 20:39:25 +08:00
|
|
|
StreamMessage::MessageId(message_id) => write!(f, "message_id:{}", message_id),
|
2024-08-10 17:23:37 +08:00
|
|
|
StreamMessage::IndexStart => write!(f, "index_start:"),
|
|
|
|
StreamMessage::IndexEnd => write!(f, "index_end"),
|
2024-08-11 20:39:25 +08:00
|
|
|
StreamMessage::Text(text) => {
|
2024-08-10 17:23:37 +08:00
|
|
|
write!(f, "data:{}", text)
|
|
|
|
},
|
|
|
|
StreamMessage::Done => write!(f, "done:"),
|
|
|
|
StreamMessage::StartIndexFile { file_name } => {
|
|
|
|
write!(f, "start_index_file:{}", file_name)
|
|
|
|
},
|
|
|
|
StreamMessage::EndIndexFile { file_name } => {
|
|
|
|
write!(f, "end_index_file:{}", file_name)
|
|
|
|
},
|
|
|
|
StreamMessage::IndexFileError { file_name } => {
|
|
|
|
write!(f, "index_file_error:{}", file_name)
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|