pub struct MergeSlice {
pub merge_base: Option<ID>,
pub path: Vec<ID>,
}Expand description
The inputs for materializing a multi-tip store state, resolved in one
call (see Backend::compute_merge_state).
When merge_base is Some, path holds every entry between the base
(exclusive) and the tips (inclusive), sorted by height then ID for the
CRDT fold. When it is None the tips share no common ancestor and the
caller materializes their full ancestry from the empty base — via a
batch entry fetch (Backend::store_at) rather than a path walk, so
path is empty.
Fields§
§merge_base: Option<ID>The common dominator of the queried tips, or None for disjoint
histories.
path: Vec<ID>Entries to fold on top of the base’s state; empty when merge_base
is None.
Trait Implementations§
Source§impl Clone for MergeSlice
impl Clone for MergeSlice
Source§fn clone(&self) -> MergeSlice
fn clone(&self) -> MergeSlice
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 moreAuto Trait Implementations§
impl Freeze for MergeSlice
impl RefUnwindSafe for MergeSlice
impl Send for MergeSlice
impl Sync for MergeSlice
impl Unpin for MergeSlice
impl UnsafeUnpin for MergeSlice
impl UnwindSafe for MergeSlice
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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