protosocket_rpc/
error.rs

1use std::sync::Arc;
2
3/// Result type for protosocket-rpc-client.
4pub type Result<T> = std::result::Result<T, Error>;
5
6/// Error type for protosocket-rpc-client.
7#[derive(Clone, Debug, thiserror::Error)]
8pub enum Error {
9    #[error("IO failure: {0}")]
10    IoFailure(Arc<std::io::Error>),
11    #[error("Rpc was cancelled remotely")]
12    CancelledRemotely,
13    #[error("Connection is closed")]
14    ConnectionIsClosed,
15    #[error("Rpc finished")]
16    Finished,
17}
18
19impl From<std::io::Error> for Error {
20    fn from(value: std::io::Error) -> Self {
21        Self::IoFailure(Arc::new(value))
22    }
23}