#[non_exhaustive]pub enum RetrySafety {
Safe,
RequiresIdempotency,
UnsafeAfterVisibleOutput,
UnsafeAfterSideEffect,
Unknown,
}Expand description
Whether retrying an operation is safe.
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.
Safe
The same operation can be retried safely.
RequiresIdempotency
Retry is safe only when the external system honors an idempotency key.
UnsafeAfterVisibleOutput
Visible output has been emitted, so retry may duplicate output.
UnsafeAfterSideEffect
An external side effect may already have occurred.
Unknown
Safety cannot be determined.
Trait Implementations§
Source§impl Clone for RetrySafety
impl Clone for RetrySafety
Source§fn clone(&self) -> RetrySafety
fn clone(&self) -> RetrySafety
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for RetrySafety
Source§impl Debug for RetrySafety
impl Debug for RetrySafety
Source§impl<'de> Deserialize<'de> for RetrySafety
impl<'de> Deserialize<'de> for RetrySafety
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
impl Eq for RetrySafety
Source§impl PartialEq for RetrySafety
impl PartialEq for RetrySafety
Source§impl Serialize for RetrySafety
impl Serialize for RetrySafety
impl StructuralPartialEq for RetrySafety
Auto Trait Implementations§
impl Freeze for RetrySafety
impl RefUnwindSafe for RetrySafety
impl Send for RetrySafety
impl Sync for RetrySafety
impl Unpin for RetrySafety
impl UnsafeUnpin for RetrySafety
impl UnwindSafe for RetrySafety
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