Struct differential_dataflow::trace::implementations::spine_fueled::Spine
source · Expand description
An append-only collection of update tuples.
A spine maintains a small number of immutable collections of update tuples, merging the collections when two have similar sizes. In this way, it allows the addition of more tuples, which may then be merged with other immutable collections.
Implementations
sourceimpl<K, V, T, R, B> Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R>,
impl<K, V, T, R, B> Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R>,
sourcepub fn with_effort(
effort: usize,
operator: OperatorInfo,
logger: Option<Logger>
) -> Self
pub fn with_effort(
effort: usize,
operator: OperatorInfo,
logger: Option<Logger>
) -> Self
Allocates a fueled Spine with a specified effort multiplier.
This trace will merge batches progressively, with each inserted batch applying a multiple
of the batch’s length in effort to each merge. The effort parameter is that multiplier.
This value should be at least one for the merging to happen; a value of zero is not helpful.
Trait Implementations
sourceimpl<K, V, T, R, B> Trace<K, V, T, R> for Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R> + Clone + 'static,
impl<K, V, T, R, B> Trace<K, V, T, R> for Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R> + Clone + 'static,
sourceimpl<K, V, T, R, B> TraceReader<K, V, T, R> for Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R> + Clone + 'static,
impl<K, V, T, R, B> TraceReader<K, V, T, R> for Spine<K, V, T, R, B>where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug,
R: Diff,
B: Batch<K, V, T, R> + Clone + 'static,
type Batch = B
type Batch = B
The type of an immutable collection of updates.
type Cursor = CursorList<K, V, T, R, <B as BatchReader<K, V, T, R>>::Cursor>
type Cursor = CursorList<K, V, T, R, <B as BatchReader<K, V, T, R>>::Cursor>
The type used to enumerate the collections contents.
sourcefn cursor_through(
&mut self,
upper: &[T]
) -> Option<(Self::Cursor, <Self::Cursor as Cursor<K, V, T, R>>::Storage)>
fn cursor_through(
&mut self,
upper: &[T]
) -> Option<(Self::Cursor, <Self::Cursor as Cursor<K, V, T, R>>::Storage)>
Acquires a cursor to the restriction of the collection’s contents to updates at times not greater or
equal to an element of
upper. Read moresourcefn advance_by(&mut self, frontier: &[T])
fn advance_by(&mut self, frontier: &[T])
Advances the frontier of times the collection must be correctly accumulable through. Read more
sourcefn advance_frontier(&mut self) -> &[T] ⓘ
fn advance_frontier(&mut self) -> &[T] ⓘ
Reports the frontier from which all time comparisions should be accurate. Read more
sourcefn distinguish_since(&mut self, frontier: &[T])
fn distinguish_since(&mut self, frontier: &[T])
Advances the frontier that may be used in
cursor_through. Read moresourcefn distinguish_frontier(&mut self) -> &[T] ⓘ
fn distinguish_frontier(&mut self) -> &[T] ⓘ
Reports the frontier from which the collection may be subsetted. Read more
sourcefn map_batches<F: FnMut(&Self::Batch)>(&mut self, f: F)
fn map_batches<F: FnMut(&Self::Batch)>(&mut self, f: F)
Maps some logic across the batches the collection manages. Read more
Auto Trait Implementations
impl<K, V, T, R, B> !RefUnwindSafe for Spine<K, V, T, R, B>
impl<K, V, T, R, B> !Send for Spine<K, V, T, R, B>
impl<K, V, T, R, B> !Sync for Spine<K, V, T, R, B>
impl<K, V, T, R, B> Unpin for Spine<K, V, T, R, B>where
B: Unpin,
K: Unpin,
R: Unpin,
T: Unpin,
V: Unpin,
<B as Batch<K, V, T, R>>::Merger: Unpin,
impl<K, V, T, R, B> !UnwindSafe for Spine<K, V, T, R, B>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more