pub enum DedupOutcome {
Reserved,
Replay {
response: Vec<u8>,
},
InFlight,
Conflict,
}Expand description
Result of a dedup reservation call.
DedupOutcome::Reserved: this id has not been seen, and the store has atomically claimed the slot for the caller. The caller MUST either complete the request or release the reservation. While the reservation is held, concurrent identical requests seeDedupOutcome::InFlight.DedupOutcome::Replay: a completed entry exists with a matching body hash; the cached response is returned and the request must not be re-executed.DedupOutcome::InFlight: a reservation for the same(operation_id, verb)is currently held by another caller (with the same body hash). The caller should surface a transient error (Status::aborted) so the client can retry once the original completes.DedupOutcome::Conflict: same id, different body. Caller should surface aFailedPreconditionto the client.
Variants§
Trait Implementations§
Source§impl Clone for DedupOutcome
impl Clone for DedupOutcome
Source§impl Debug for DedupOutcome
impl Debug for DedupOutcome
impl Eq for DedupOutcome
Source§impl PartialEq for DedupOutcome
impl PartialEq for DedupOutcome
impl StructuralPartialEq for DedupOutcome
Auto Trait Implementations§
impl Freeze for DedupOutcome
impl RefUnwindSafe for DedupOutcome
impl Send for DedupOutcome
impl Sync for DedupOutcome
impl Unpin for DedupOutcome
impl UnsafeUnpin for DedupOutcome
impl UnwindSafe for DedupOutcome
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