pub enum OperationOutcome {
Landed(Slot),
Satisfied,
Rejected(OperationRejection),
Stopped(DeviceStop),
Cancelled,
Undone(UndoCause),
SharingRefused {
account: String,
refusal: SharingRefusal,
},
}Expand description
How an operation an app’s write journaled ended (§11.4):
coven_operations.outcome holds it from the transaction that ends the
operation’s journal row until a write acknowledges it, so an outcome
nobody awaited is still there to read.
Variants§
Landed(Slot)
Its entry landed at this slot, which this device has applied.
Satisfied
The applied state already had what it asked for, so it claimed no slot (§11.2).
Rejected(OperationRejection)
The applied state refused it once this device had caught up; its preparation was undone (§11.2, §11.3).
Stopped(DeviceStop)
This device stopped for good before the operation ended, so it never will here. Nothing refused it: another device may still make the same change, and for a copy of this installation, the other copy may still land it (§14.1, §19.3).
Cancelled
The app cancelled it before its point of no return, and what it had written was undone (§11.6).
Undone(UndoCause)
It was undone before its point of no return, or refused after it before anything it claimed landed (§11.6).
SharingRefused
An invite’s operation ended because the provider refused to share the
store for a reason only a person can fix (§13.2). The invite is gone
from coven_invites; the outcome stays until a write acknowledges
it, for the app to say what went wrong and what to fix.
Fields
refusal: SharingRefusalWhat was refused.
Trait Implementations§
Source§impl Clone for OperationOutcome
impl Clone for OperationOutcome
Source§fn clone(&self) -> OperationOutcome
fn clone(&self) -> OperationOutcome
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OperationOutcome
impl Debug for OperationOutcome
Source§impl<'de> Deserialize<'de> for OperationOutcome
impl<'de> Deserialize<'de> for OperationOutcome
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>,
Source§impl FromSql for OperationOutcome
Reads coven_operations.outcome, once it is not NULL.
impl FromSql for OperationOutcome
Reads coven_operations.outcome, once it is not NULL.
Source§fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>
fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>
Source§impl PartialEq for OperationOutcome
impl PartialEq for OperationOutcome
Source§impl Serialize for OperationOutcome
impl Serialize for OperationOutcome
impl Eq for OperationOutcome
impl StructuralPartialEq for OperationOutcome
Auto Trait Implementations§
impl Freeze for OperationOutcome
impl RefUnwindSafe for OperationOutcome
impl Send for OperationOutcome
impl Sync for OperationOutcome
impl Unpin for OperationOutcome
impl UnsafeUnpin for OperationOutcome
impl UnwindSafe for OperationOutcome
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.