armour_rpc/error.rs
1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum RpcError {
5 #[error("IO error: {0}")]
6 Io(#[from] std::io::Error),
7 #[error("Protocol error: {0}")]
8 Protocol(String),
9 #[error("Server error {code}: {message}")]
10 Server { code: u16, message: String },
11 #[error("Encoding error: {0}")]
12 Encoding(String),
13 #[error("Unexpected EOF")]
14 UnexpectedEof,
15 #[error("Other: {0}")]
16 Other(String),
17}
18
19pub type Result<T> = std::result::Result<T, RpcError>;