pub enum MergeTraceEvent {
FastPath {
reason: MergeFastPath,
},
StructuralMergeStarted,
ReusedSubtree {
cid: Cid,
reason: MergeReuseReason,
},
RewrittenNode {
cid: Cid,
level: u8,
entries: usize,
first_key: Option<Vec<u8>>,
last_key: Option<Vec<u8>>,
},
ResolverCalled {
stage: MergeTraceStage,
key: Vec<u8>,
resolution: MergeResolutionKind,
},
Fallback {
reason: MergeFallbackReason,
},
DiffTraversal {
stats: DiffTraversalStats,
},
BatchMerge {
right_changes: usize,
mutations: usize,
append_only: bool,
},
}Expand description
A single event emitted while explaining a merge.
Variants§
FastPath
The merge returned from a root-level fast path.
Fields
§
reason: MergeFastPathStructuralMergeStarted
The structural merge fast path started.
ReusedSubtree
An existing subtree CID was reused without rewriting that subtree.
RewrittenNode
A new node was written by the structural merge path.
ResolverCalled
The caller-provided resolver was invoked for a conflict.
Fallback
A fast path could not finish and merge fell back to a broader path.
Fields
§
reason: MergeFallbackReasonDiffTraversal
Counters from the structural diff traversal used by the diff/batch path.
Fields
§
stats: DiffTraversalStatsBatchMerge
The diff/batch merge path applied right-side changes to left.
Trait Implementations§
Source§impl Clone for MergeTraceEvent
impl Clone for MergeTraceEvent
Source§fn clone(&self) -> MergeTraceEvent
fn clone(&self) -> MergeTraceEvent
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 MergeTraceEvent
impl Debug for MergeTraceEvent
Source§impl<'de> Deserialize<'de> for MergeTraceEvent
impl<'de> Deserialize<'de> for MergeTraceEvent
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 MergeTraceEvent
Source§impl PartialEq for MergeTraceEvent
impl PartialEq for MergeTraceEvent
Source§impl Serialize for MergeTraceEvent
impl Serialize for MergeTraceEvent
impl StructuralPartialEq for MergeTraceEvent
Auto Trait Implementations§
impl Freeze for MergeTraceEvent
impl RefUnwindSafe for MergeTraceEvent
impl Send for MergeTraceEvent
impl Sync for MergeTraceEvent
impl Unpin for MergeTraceEvent
impl UnsafeUnpin for MergeTraceEvent
impl UnwindSafe for MergeTraceEvent
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more