pub struct MessageMetadata {
pub message_id: String,
pub retry_attempt: u32,
pub max_retries: u32,
pub created_at: DateTime<Utc>,
pub last_processed_at: DateTime<Utc>,
pub error_history: Vec<ErrorRecord>,
pub headers: HashMap<String, String>,
pub source: MessageSource,
}Expand description
Metadata associated with a message
Fields§
§message_id: StringUnique message ID for tracking
retry_attempt: u32Current retry attempt (0 = first attempt, 1 = first retry, etc.)
max_retries: u32Maximum number of retry attempts allowed
created_at: DateTime<Utc>When the message was first created
last_processed_at: DateTime<Utc>When the message was last processed (updated on each retry)
error_history: Vec<ErrorRecord>History of errors from previous attempts
headers: HashMap<String, String>Custom headers for additional metadata
source: MessageSourceSource information (queue, exchange, routing key where message originated)
Trait Implementations§
Source§impl Clone for MessageMetadata
impl Clone for MessageMetadata
Source§fn clone(&self) -> MessageMetadata
fn clone(&self) -> MessageMetadata
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MessageMetadata
impl Debug for MessageMetadata
Source§impl<'de> Deserialize<'de> for MessageMetadata
impl<'de> Deserialize<'de> for MessageMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for MessageMetadata
impl RefUnwindSafe for MessageMetadata
impl Send for MessageMetadata
impl Sync for MessageMetadata
impl Unpin for MessageMetadata
impl UnwindSafe for MessageMetadata
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more