pub enum ConflictResolution {
LastWriterWins,
PriorityWins,
Merge,
}Expand description
Strategies for resolving concurrent writes to the same piece of state.
Variants§
LastWriterWins
The most recent write always wins, regardless of priority.
PriorityWins
Writes with higher priority overwrite lower priority ones. If priorities are equal, the last writer wins.
Merge
Indicates that a semantic merge should be attempted (requires custom implementation).
Trait Implementations§
Source§impl Clone for ConflictResolution
impl Clone for ConflictResolution
Source§fn clone(&self) -> ConflictResolution
fn clone(&self) -> ConflictResolution
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ConflictResolution
Source§impl Debug for ConflictResolution
impl Debug for ConflictResolution
Source§impl Default for ConflictResolution
impl Default for ConflictResolution
Source§fn default() -> ConflictResolution
fn default() -> ConflictResolution
Returns the “default value” for a type. Read more
impl Eq for ConflictResolution
Source§impl PartialEq for ConflictResolution
impl PartialEq for ConflictResolution
Source§fn eq(&self, other: &ConflictResolution) -> bool
fn eq(&self, other: &ConflictResolution) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ConflictResolution
Auto Trait Implementations§
impl Freeze for ConflictResolution
impl RefUnwindSafe for ConflictResolution
impl Send for ConflictResolution
impl Sync for ConflictResolution
impl Unpin for ConflictResolution
impl UnsafeUnpin for ConflictResolution
impl UnwindSafe for ConflictResolution
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.