tcp_wrapper/
error.rs

1use std::io;
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum ConnectError {
6    #[error("Unexpected handshake response: {0}")]
7    BadHandshake(String),
8    #[error("IO error: {0}")]
9    Io(#[from] io::Error),
10}
11pub type ConnectResult<T> = Result<T, ConnectError>;
12
13#[derive(Debug, Error)]
14pub enum BindError {
15    #[error("IO error: {0}")]
16    Io(#[from] io::Error),
17}
18
19pub type SendResult = Result<(), SendError>;
20#[derive(Debug, Error)]
21pub enum SendError {
22    #[error("IO error: {0}")]
23    Io(#[from] io::Error),
24}
25pub type ReceiveResult = Result<String, ReceiveError>;
26#[derive(Debug, Error)]
27pub enum ReceiveError {
28    #[error("IO error: {0}")]
29    Io(#[from] io::Error),
30    #[error("bad encoding")]
31    BadEncoding,
32}
33
34pub type RequestResult = Result<String, RequestError>;
35
36#[derive(Debug, Error)]
37pub enum RequestError {
38    #[error(transparent)]
39    Send(#[from] SendError),
40    #[error(transparent)]
41    Recv(#[from] ReceiveError),
42    #[error("bad encoding")]
43    BadEncoding,
44}