digitalis_core/
error.rs

1use std::{borrow::Cow, io};
2
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum DigitalisError {
7    #[error("IO error: {0}")]
8    IOError(#[from] io::Error),
9    #[error("JSON error")]
10    JsonError(#[from] serde_json::Error),
11    #[error("Binary deserialize error: {0}")]
12    BinaryDeserializeError(Cow<'static, str>),
13    #[error("Channel send error")]
14    ChannelSendError,
15    #[error("Protobuf error {0}")]
16    ProtobufError(#[from] protobuf::Error),
17    #[error("Unexpected websocket message: {0}")]
18    UnexpectedWebsocketMessage(Cow<'static, str>),
19}
20
21pub type DigitalisResult<T> = Result<T, DigitalisError>;