use std::error::Error;
use crate::message::Message;
use crate::send_error::SendError;
#[derive(Debug)]
pub struct SendErrorBorrowed<'a> {
err: Box<dyn Error>,
destination_id: String,
message: &'a Message,
}
impl<'a> SendErrorBorrowed<'a> {
pub fn create(err: Box<dyn Error>, item_id: String, message: &'a Message) -> Self {
Self {
err,
destination_id: item_id,
message,
}
}
}
impl<'a> SendError for SendErrorBorrowed<'a> {
fn get_error(&self) -> &Box<dyn Error> {
&self.err
}
fn get_failed_destination_id(&self) -> &str {
&self.destination_id
}
fn get_failed_message(&self) -> &Message {
self.message
}
}