pub struct ReliabilityManager { /* private fields */ }Expand description
Reliability manager for message producers
Implementations§
Source§impl ReliabilityManager
impl ReliabilityManager
Sourcepub fn new(config: ReliabilityConfig) -> Self
pub fn new(config: ReliabilityConfig) -> Self
Create a new reliability manager
Sourcepub async fn prepare_message(
&self,
event: StreamEvent,
) -> Result<ReliableMessage>
pub async fn prepare_message( &self, event: StreamEvent, ) -> Result<ReliableMessage>
Prepare message for reliable delivery
Sourcepub async fn record_delivery(&self, message_id: &str) -> Result<()>
pub async fn record_delivery(&self, message_id: &str) -> Result<()>
Record successful delivery
Sourcepub async fn record_failure(
&self,
message_id: &str,
error: String,
) -> Result<DeliveryStatus>
pub async fn record_failure( &self, message_id: &str, error: String, ) -> Result<DeliveryStatus>
Record delivery failure
Sourcepub async fn get_retry_message(&self) -> Option<ReliableMessage>
pub async fn get_retry_message(&self) -> Option<ReliableMessage>
Get next message from retry queue
Sourcepub async fn get_dlq_messages(&self, limit: usize) -> Vec<ReliableMessage>
pub async fn get_dlq_messages(&self, limit: usize) -> Vec<ReliableMessage>
Get DLQ messages
Sourcepub async fn get_stats(&self) -> ReliabilityStats
pub async fn get_stats(&self) -> ReliabilityStats
Get reliability statistics
Sourcepub async fn replay_message(&self, message_id: &str) -> Result<ReliableMessage>
pub async fn replay_message(&self, message_id: &str) -> Result<ReliableMessage>
Replay a single message from DLQ by message ID
Sourcepub async fn replay_messages_with_filter<F>(
&self,
filter: F,
limit: usize,
) -> Result<Vec<ReliableMessage>>
pub async fn replay_messages_with_filter<F>( &self, filter: F, limit: usize, ) -> Result<Vec<ReliableMessage>>
Replay multiple messages from DLQ with optional filter
Sourcepub async fn remove_from_dlq(&self, message_id: &str) -> Result<()>
pub async fn remove_from_dlq(&self, message_id: &str) -> Result<()>
Remove successfully replayed message from DLQ
Sourcepub async fn update_replay_status(
&self,
message_id: &str,
status: ReplayStatus,
) -> Result<()>
pub async fn update_replay_status( &self, message_id: &str, status: ReplayStatus, ) -> Result<()>
Update replay status for a message in DLQ
Sourcepub async fn get_dlq_stats(&self) -> DlqStats
pub async fn get_dlq_stats(&self) -> DlqStats
Get DLQ statistics for monitoring
Sourcepub async fn bulk_replay_messages(
&self,
message_ids: Vec<String>,
) -> Result<BulkReplayResult>
pub async fn bulk_replay_messages( &self, message_ids: Vec<String>, ) -> Result<BulkReplayResult>
Bulk replay messages with batching
Auto Trait Implementations§
impl Freeze for ReliabilityManager
impl !RefUnwindSafe for ReliabilityManager
impl Send for ReliabilityManager
impl Sync for ReliabilityManager
impl Unpin for ReliabilityManager
impl UnsafeUnpin for ReliabilityManager
impl !UnwindSafe for ReliabilityManager
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> 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> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.