pub struct DelayedMessageExchange { /* private fields */ }Expand description
Delayed Message Exchange handler for implementing retry mechanism
Implementations§
Source§impl DelayedMessageExchange
impl DelayedMessageExchange
Sourcepub fn new(
connection_manager: ConnectionManager,
exchange_name: String,
retry_policy: RetryPolicy,
) -> Self
pub fn new( connection_manager: ConnectionManager, exchange_name: String, retry_policy: RetryPolicy, ) -> Self
Create a new DelayedMessageExchange
Sourcepub async fn setup(&self) -> Result<()>
pub async fn setup(&self) -> Result<()>
Setup the delayed message exchange and retry infrastructure
Sourcepub async fn publish_with_retry<T>(
&self,
original_queue: &str,
message: &T,
retry_count: u32,
original_headers: Option<FieldTable>,
) -> Result<()>where
T: Serialize,
pub async fn publish_with_retry<T>(
&self,
original_queue: &str,
message: &T,
retry_count: u32,
original_headers: Option<FieldTable>,
) -> Result<()>where
T: Serialize,
Publish a message with retry mechanism
Sourcepub async fn setup_retry_queues(&self, original_queue: &str) -> Result<()>
pub async fn setup_retry_queues(&self, original_queue: &str) -> Result<()>
Setup retry queues for a specific original queue
Auto Trait Implementations§
impl Freeze for DelayedMessageExchange
impl !RefUnwindSafe for DelayedMessageExchange
impl Send for DelayedMessageExchange
impl Sync for DelayedMessageExchange
impl Unpin for DelayedMessageExchange
impl !UnwindSafe for DelayedMessageExchange
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