implement Clone for error types
This commit is contained in:
parent
d30131e0fc
commit
76b00cd644
|
@ -1,4 +1,5 @@
|
|||
use std::str::Utf8Error;
|
||||
use std::sync::Arc;
|
||||
|
||||
use jid::ParseError;
|
||||
use rsasl::mechname::MechanismNameError;
|
||||
|
@ -6,9 +7,8 @@ use stanza::client::error::Error as ClientError;
|
|||
use stanza::sasl::Failure;
|
||||
use stanza::stream::Error as StreamError;
|
||||
use thiserror::Error;
|
||||
use tokio::task::JoinError;
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
#[derive(Error, Debug, Clone)]
|
||||
pub enum Error {
|
||||
#[error("connection")]
|
||||
Connection,
|
||||
|
@ -39,16 +39,20 @@ pub enum Error {
|
|||
StreamError(#[from] StreamError),
|
||||
#[error("error missing")]
|
||||
MissingError,
|
||||
#[error("task join error")]
|
||||
JoinError(#[from] JoinError),
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
#[derive(Error, Debug, Clone)]
|
||||
pub enum SASLError {
|
||||
#[error("sasl error: {0}")]
|
||||
SASL(#[from] rsasl::prelude::SASLError),
|
||||
SASL(Arc<rsasl::prelude::SASLError>),
|
||||
#[error("mechanism error: {0}")]
|
||||
MechanismName(#[from] MechanismNameError),
|
||||
#[error("authentication failure: {0}")]
|
||||
Authentication(#[from] Failure),
|
||||
}
|
||||
|
||||
impl From<rsasl::prelude::SASLError> for SASLError {
|
||||
fn from(e: rsasl::prelude::SASLError) -> Self {
|
||||
Self::SASL(Arc::new(e))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ impl sqlx::Encode<'_, Sqlite> for JID {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum JIDError {
|
||||
NoResourcePart,
|
||||
ParseError(ParseError),
|
||||
|
@ -79,7 +79,7 @@ impl Display for JIDError {
|
|||
|
||||
impl Error for JIDError {}
|
||||
|
||||
#[derive(Debug)]
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum ParseError {
|
||||
Empty,
|
||||
Malformed(String),
|
||||
|
|
|
@ -179,7 +179,7 @@ impl FromElement for Feature {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
#[derive(Error, Debug, Clone)]
|
||||
pub struct Error {
|
||||
error: StreamError,
|
||||
text: Option<Text>,
|
||||
|
|
Loading…
Reference in New Issue