[−][src]Struct differential_dataflow::trace::implementations::spine_fueled::Spine
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.
Methods
impl<K, V, T, R, B> Spine<K, V, T, R, B> where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R>, [src]
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R>,
pub fn with_effort(
effort: usize,
operator: OperatorInfo,
logger: Option<Logger>
) -> Self[src]
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
impl<K, V, T, R, B> TraceReader for Spine<K, V, T, R, B> where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R> + Clone + 'static, [src]
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R> + Clone + 'static,
type Key = K
Key by which updates are indexed.
type Val = V
Values associated with keys.
type Time = T
Timestamps associated with updates
type R = R
Associated update.
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>
The type used to enumerate the collections contents.
fn cursor_through(
&mut self,
upper: &[T]
) -> Option<(Self::Cursor, <Self::Cursor as Cursor<K, V, T, R>>::Storage)>[src]
&mut self,
upper: &[T]
) -> Option<(Self::Cursor, <Self::Cursor as Cursor<K, V, T, R>>::Storage)>
fn advance_by(&mut self, frontier: &[T])[src]
fn advance_frontier(&mut self) -> &[T][src]
fn distinguish_since(&mut self, frontier: &[T])[src]
fn distinguish_frontier(&mut self) -> &[T][src]
fn map_batches<F: FnMut(&Self::Batch)>(&mut self, f: F)[src]
fn cursor(
&mut self
) -> (Self::Cursor, <Self::Cursor as Cursor<Self::Key, Self::Val, Self::Time, Self::R>>::Storage)[src]
&mut self
) -> (Self::Cursor, <Self::Cursor as Cursor<Self::Key, Self::Val, Self::Time, Self::R>>::Storage)
Provides a cursor over updates contained in the trace.
fn read_upper(&mut self, target: &mut Antichain<Self::Time>) where
Self::Time: Timestamp, [src]
Self::Time: Timestamp,
Reads the upper frontier of committed times. Read more
impl<K, V, T, R, B> Trace for Spine<K, V, T, R, B> where
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R> + Clone + 'static, [src]
K: Ord + Clone,
V: Ord + Clone,
T: Lattice + Ord + Clone + Debug + Default,
R: Monoid,
B: Batch<K, V, T, R> + Clone + 'static,
Auto Trait Implementations
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,
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> !Send for Spine<K, V, T, R, B>
impl<K, V, T, R, B> !RefUnwindSafe for Spine<K, V, T, R, B>
impl<K, V, T, R, B> !UnwindSafe for Spine<K, V, T, R, B>
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,