[][src]Enum crdts::orswot::Op

pub enum Op<M: Member, A: Actor> {
    Add {
        dot: Dot<A>,
        members: Vec<M>,
    },
    Rm {
        clock: VClock<A>,
        members: Vec<M>,
    },
}

Op's define an edit to an Orswot, Op's must be replayed in the exact order they were produced to guarantee convergence.

Op's are idempotent, that is, applying an Op twice will not have an effect

Variants

Add

Add members to the set

Fields of Add

dot: Dot<A>

witnessing dot

members: Vec<M>

Members to add

Rm

Remove member from the set

Fields of Rm

clock: VClock<A>

witnessing clock

members: Vec<M>

Members to remove

Trait Implementations

impl<A: Actor + Arbitrary, M: Member + Arbitrary> Arbitrary for Op<M, A>[src]

impl<M: Clone + Member, A: Clone + Actor> Clone for Op<M, A>[src]

impl<M: Debug + Member, A: Debug + Actor> Debug for Op<M, A>[src]

impl<'de, M: Member, A: Actor> Deserialize<'de> for Op<M, A> where
    M: Deserialize<'de>,
    A: Deserialize<'de>, 
[src]

impl<M: Eq + Member, A: Eq + Actor> Eq for Op<M, A>[src]

impl<M: Hash + Member, A: Hash + Actor> Hash for Op<M, A>[src]

impl<M: PartialEq + Member, A: PartialEq + Actor> PartialEq<Op<M, A>> for Op<M, A>[src]

impl<M: Member, A: Actor> Serialize for Op<M, A> where
    M: Serialize,
    A: Serialize
[src]

impl<M: Member, A: Actor> StructuralEq for Op<M, A>[src]

impl<M: Member, A: Actor> StructuralPartialEq for Op<M, A>[src]

Auto Trait Implementations

impl<M, A> RefUnwindSafe for Op<M, A> where
    A: RefUnwindSafe,
    M: RefUnwindSafe

impl<M, A> Send for Op<M, A> where
    A: Send,
    M: Send

impl<M, A> Sync for Op<M, A> where
    A: Sync,
    M: Sync

impl<M, A> Unpin for Op<M, A> where
    A: Unpin,
    M: Unpin

impl<M, A> UnwindSafe for Op<M, A> where
    A: RefUnwindSafe + UnwindSafe,
    M: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Member for T where
    T: Clone + Eq + Hash
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,