pub enum IsolationKey {
Thread(String),
LocalHead {
scope: String,
},
StateVisibility(StateId),
}Expand description
Logical key used by conditional transaction commits to detect intervening same-thread changes.
Variants§
Thread(String)
LocalHead
StateVisibility(StateId)
Per-state visibility key (heddle#317). Every StateVisibilitySet /
StateVisibilityPromote record on a state contributes this key, so a
visibility mutation on state S conflicts with an in-flight undo/redo of
a visibility batch that also touched S. Without it a visibility record
would contribute no isolation key, and an undo could restore an older
prior_sidecar over a concurrently-committed newer visibility record,
silently discarding it. Keyed by the state’s StateId, so visibility
mutations on different states never spuriously conflict.
Trait Implementations§
Source§impl Clone for IsolationKey
impl Clone for IsolationKey
Source§fn clone(&self) -> IsolationKey
fn clone(&self) -> IsolationKey
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 moreSource§impl Debug for IsolationKey
impl Debug for IsolationKey
Source§impl<'de> Deserialize<'de> for IsolationKey
impl<'de> Deserialize<'de> for IsolationKey
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for IsolationKey
Source§impl Ord for IsolationKey
impl Ord for IsolationKey
Source§fn cmp(&self, other: &IsolationKey) -> Ordering
fn cmp(&self, other: &IsolationKey) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for IsolationKey
impl PartialEq for IsolationKey
Source§impl PartialOrd for IsolationKey
impl PartialOrd for IsolationKey
Source§impl Serialize for IsolationKey
impl Serialize for IsolationKey
impl StructuralPartialEq for IsolationKey
Auto Trait Implementations§
impl Freeze for IsolationKey
impl RefUnwindSafe for IsolationKey
impl Send for IsolationKey
impl Sync for IsolationKey
impl Unpin for IsolationKey
impl UnsafeUnpin for IsolationKey
impl UnwindSafe for IsolationKey
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