pub enum StateChangeResult<ID, OP, C, RS, ORD, GS>where
ID: IdentityHandle + Display,
OP: OperationId + Ord + Display,
C: Clone + Debug + PartialEq + PartialOrd,
RS: Resolver<ID, OP, C, ORD, GS> + Debug,
ORD: Orderer<ID, OP, GroupControlMessage<ID, C>> + Debug,
ORD::Operation: Clone,
GS: GroupStore<ID, OP, C, RS, ORD> + Clone + Debug,{
Ok {
state: GroupCrdtState<ID, OP, C, RS, ORD, GS>,
},
Noop {
state: GroupCrdtState<ID, OP, C, RS, ORD, GS>,
error: GroupMembershipError<GroupMember<ID>>,
},
Filtered {
state: GroupCrdtState<ID, OP, C, RS, ORD, GS>,
},
}Expand description
Return types expected from applying an action to group state.
Variants§
Ok
Action was applied and no error occurred.
Fields
§
state: GroupCrdtState<ID, OP, C, RS, ORD, GS>Noop
Action was not applied because it failed internal validation.
Filtered
Action was not applied because it has been filtered out.
Fields
§
state: GroupCrdtState<ID, OP, C, RS, ORD, GS>Auto Trait Implementations§
impl<ID, OP, C, RS, ORD, GS> Freeze for StateChangeResult<ID, OP, C, RS, ORD, GS>where
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::Operation: Sized,
ID: Freeze,
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::State: Freeze,
GS: Freeze,
impl<ID, OP, C, RS, ORD, GS> RefUnwindSafe for StateChangeResult<ID, OP, C, RS, ORD, GS>where
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::Operation: Sized + RefUnwindSafe,
ID: RefUnwindSafe,
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::State: RefUnwindSafe,
GS: RefUnwindSafe,
RS: RefUnwindSafe,
OP: RefUnwindSafe,
C: RefUnwindSafe,
impl<ID, OP, C, RS, ORD, GS> Send for StateChangeResult<ID, OP, C, RS, ORD, GS>
impl<ID, OP, C, RS, ORD, GS> Sync for StateChangeResult<ID, OP, C, RS, ORD, GS>
impl<ID, OP, C, RS, ORD, GS> Unpin for StateChangeResult<ID, OP, C, RS, ORD, GS>
impl<ID, OP, C, RS, ORD, GS> UnwindSafe for StateChangeResult<ID, OP, C, RS, ORD, GS>where
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::Operation: Sized + UnwindSafe,
ID: UnwindSafe,
<ORD as Orderer<ID, OP, GroupControlMessage<ID, C>>>::State: UnwindSafe,
GS: UnwindSafe,
OP: UnwindSafe,
RS: UnwindSafe,
C: UnwindSafe,
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