thfmr_protocol/
error.rs

1use crate::message;
2use core::result;
3use thiserror::Error;
4use tokio::{io, sync::mpsc};
5
6#[derive(Error, Debug)]
7pub enum ProtocolError {
8    #[error("io error")]
9    Io(#[from] io::Error),
10    #[error("message send error")]
11    SendError(#[from] mpsc::error::SendError<message::Message>),
12    #[error("serialization/deserialization error")]
13    SerdeJson(#[from] serde_json::Error),
14    #[error("connection send error")]
15    ConnectionSendError(#[from] mpsc::error::SendError<mpsc::Sender<message::Message>>),
16}
17
18pub type Result<T> = result::Result<T, ProtocolError>;