use ::serde::de::Error as DeErr;
use ::thiserror::Error;
use super::BrokerError;
use super::ack::AckError;
use super::decode::DecodeError;
#[derive(Error, Debug)]
pub enum SubError<DecodeErrorType: DeErr + Send + Sync> {
#[error("Broker error: {0}")]
BrokerError(#[from] BrokerError),
#[error("Acknowledgment error: {0}")]
AckError(#[from] AckError),
#[error("Decoding error: {0}")]
DecodeError(#[from] DecodeError<DecodeErrorType>),
#[cfg(test)]
#[error("Error Test")]
ErrorTest,
}