#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("unknown: {0}")]
Unknown(String),
#[error("{0}: {1}")]
Custom(String, String),
#[error("got close frame. code: {0}, reason: {1}")]
Close(u16, String),
#[error("message decode error, reason: {0}")]
Decode(String),
#[error("couldn't serialize message, reason: {0}")]
Serializing(String),
#[error("message sending error, reason: {0}")]
Send(String),
#[error("futures spawn error, reason: {0}")]
SpawnHandle(String),
#[error("sender shutdown error, reason: {0}")]
SenderShutdown(String),
}