sheave_client/handlers/
connection_error.rsuse std::{
error::Error,
fmt::{
Display,
Formatter,
Result as FormatResult
},
io::{
Error as IOError,
ErrorKind,
}
};
use sheave_core::messages::amf::v0::Object;
#[derive(Debug)]
pub struct ConnectionError(Object);
impl ConnectionError {
pub fn new(information: Object) -> Self {
Self(information)
}
}
impl Display for ConnectionError {
fn fmt(&self, f: &mut Formatter<'_>) -> FormatResult {
writeln!(f, "The \"connect\" step got failed by following cause:\n{:?}", self.0)
}
}
impl Error for ConnectionError {}
pub fn connection_error(information: Object) -> IOError {
IOError::new(
ErrorKind::InvalidData,
ConnectionError(information)
)
}