#[non_exhaustive]pub enum XNackMode {
Silent,
Fail,
Fatal,
}Expand description
How xnack adjusts the delivery counter of the
released messages.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Silent
Decrement the counter by one, undoing the delivery that just failed. For a graceful shutdown or an internal consumer failure, where the delivery should not count against the message.
Fail
Leave the counter as it is. For when this consumer could not process the message and it is unclear whether the message or the consumer is at fault, so another consumer should get a turn.
Fatal
Set the counter to its maximum, marking the message permanently failed. For invalid or suspected malicious messages.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for XNackMode
impl RefUnwindSafe for XNackMode
impl Send for XNackMode
impl Sync for XNackMode
impl Unpin for XNackMode
impl UnsafeUnpin for XNackMode
impl UnwindSafe for XNackMode
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