#[non_exhaustive]pub enum ReplayVerdict {
Fresh,
Duplicate {
prior_response: Option<Value>,
in_flight: bool,
},
Conflict,
}Expand description
What a ReplayGuard says about a document offered for execution.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Fresh
This id has not been accepted before. The caller may execute, and
MUST call ReplayGuard::record_response afterwards if it wants a
later duplicate answered with the result.
Duplicate
This id was already accepted, under a document with the same
digest — a §8.4 retry, or a replay. The caller MUST NOT execute
again.
prior_response is the response the first execution produced, where
the guard retained one. None means either that the specification
defines no success response (§4.4.1’s fire-and-forget case, where
silence is the correct disposition) or that the first execution has not
finished — the two are distinguished by
in_flight.
Fields
Conflict
This id was already accepted, under a document with a different
digest. SPEC §7.2 item 11 requires idConflict, and requires that the
document MUST NOT be treated as a retry of the original.
Trait Implementations§
Source§impl Clone for ReplayVerdict
impl Clone for ReplayVerdict
Source§fn clone(&self) -> ReplayVerdict
fn clone(&self) -> ReplayVerdict
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ReplayVerdict
impl Debug for ReplayVerdict
Source§impl PartialEq for ReplayVerdict
impl PartialEq for ReplayVerdict
impl StructuralPartialEq for ReplayVerdict
Auto Trait Implementations§
impl Freeze for ReplayVerdict
impl RefUnwindSafe for ReplayVerdict
impl Send for ReplayVerdict
impl Sync for ReplayVerdict
impl Unpin for ReplayVerdict
impl UnsafeUnpin for ReplayVerdict
impl UnwindSafe for ReplayVerdict
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
Source§impl<T> BorrowUnordered for T
impl<T> BorrowUnordered for T
fn as_unordered(&self) -> &Unordered<T>
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
impl<T, U, C> IntoWithContext<U, C> for Twhere
U: FromWithContext<T, C>,
Source§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,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> ResourceProvider<()> for T
impl<T> ResourceProvider<()> for T
Source§fn get_resource(&self) -> &()
fn get_resource(&self) -> &()
T.