websocket_rs/
error.rs

1use std::convert::From;
2use std::fmt;
3use std::io;
4
5use tokio::sync::mpsc::error::SendError;
6
7use crate::Message;
8
9pub type WebsocketResult<T> = Result<T, WebsocketError>;
10
11#[derive(Debug)]
12pub enum WebsocketError {
13    IoError(io::Error),
14    SendError(SendError<Message>),
15}
16
17impl fmt::Display for WebsocketError {
18    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
19        match *self {
20            WebsocketError::IoError(ref err) => write!(f, "{}", err),
21            WebsocketError::SendError(ref err) => write!(f, "{}", err),
22        }
23    }
24}
25
26impl std::error::Error for WebsocketError {
27
28}
29
30impl From<io::Error> for WebsocketError {
31    fn from(err: io::Error) -> Self {
32        WebsocketError::IoError(err)
33    }
34}
35
36impl From<SendError<Message>> for WebsocketError {
37    fn from(err: SendError<Message>) -> Self {
38        WebsocketError::SendError(err)
39    }
40}