pub enum Completion<O: Operation, C, CE> {
Success {
output: O::Output,
chain: C,
},
DeviceError {
status: StatusCode,
disposition: FailureDisposition,
operation: O,
chain: C,
},
InvalidResponse {
error: ResponseError<CE>,
operation: O,
chain: C,
},
}Expand description
Terminal result for one matched request completion.
Variants§
Success
Protocol success with the reclaimed caller chain.
Fields
§
chain: CReclaimed caller-owned chain.
DeviceError
Well-formed protocol error; operation metadata is returned for retry decisions.
Fields
§
status: StatusCodeRaw status, preserving unknown provider values.
§
disposition: FailureDispositionWhether typed operation ownership is retryable, invalid, or uncertain.
§
operation: OOriginal typed operation.
§
chain: CReclaimed caller-owned chain.
InvalidResponse
Malformed or inaccessible response; reset is required.
Fields
§
error: ResponseError<CE>Validation failure.
§
operation: OOriginal typed operation.
§
chain: CReclaimed caller-owned chain.
Trait Implementations§
Auto Trait Implementations§
impl<O, C, CE> Freeze for Completion<O, C, CE>
impl<O, C, CE> RefUnwindSafe for Completion<O, C, CE>where
<O as Operation>::Output: RefUnwindSafe,
C: RefUnwindSafe,
O: RefUnwindSafe,
CE: RefUnwindSafe,
impl<O, C, CE> Send for Completion<O, C, CE>
impl<O, C, CE> Sync for Completion<O, C, CE>
impl<O, C, CE> Unpin for Completion<O, C, CE>
impl<O, C, CE> UnsafeUnpin for Completion<O, C, CE>
impl<O, C, CE> UnwindSafe for Completion<O, C, CE>
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