pub struct QueueEntry {
pub mail: Mail,
pub attempts: u32,
pub max_attempts: u32,
pub next_retry: SystemTime,
pub last_error: Option<String>,
pub priority: Priority,
}Expand description
Queue entry with retry information
Fields§
§mail: Mail§attempts: u32§max_attempts: u32§next_retry: SystemTime§last_error: Option<String>§priority: PriorityImplementations§
Source§impl QueueEntry
impl QueueEntry
Sourcepub fn new_with_priority(mail: Mail, priority: Priority) -> Self
pub fn new_with_priority(mail: Mail, priority: Priority) -> Self
Create a new queue entry with specified priority
Sourcepub fn set_priority(&mut self, priority: Priority)
pub fn set_priority(&mut self, priority: Priority)
Set the priority of this entry
Sourcepub fn calculate_next_retry(&mut self)
pub fn calculate_next_retry(&mut self)
Calculate next retry time with exponential backoff
Sourcepub fn should_retry(&self) -> bool
pub fn should_retry(&self) -> bool
Check if entry should be retried
Sourcepub fn is_bounced(&self) -> bool
pub fn is_bounced(&self) -> bool
Check if entry has exceeded max attempts
Sourcepub fn to_data(&self) -> QueueEntryData
pub fn to_data(&self) -> QueueEntryData
Convert to serializable data
Sourcepub fn from_data(data: QueueEntryData, mail: Mail) -> Self
pub fn from_data(data: QueueEntryData, mail: Mail) -> Self
Create from data and mail
Trait Implementations§
Source§impl Clone for QueueEntry
impl Clone for QueueEntry
Source§fn clone(&self) -> QueueEntry
fn clone(&self) -> QueueEntry
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 moreAuto Trait Implementations§
impl Freeze for QueueEntry
impl !RefUnwindSafe for QueueEntry
impl Send for QueueEntry
impl Sync for QueueEntry
impl Unpin for QueueEntry
impl UnsafeUnpin for QueueEntry
impl !UnwindSafe for QueueEntry
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request