Struct differential_dataflow::trace::wrappers::rc::TraceRc
[−]
[src]
pub struct TraceRc<K, V, T, R, Tr> where
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>, { pub wrapper: Rc<RefCell<TraceBox<K, V, T, R, Tr>>>, // some fields omitted }
A handle to a shared trace.
As long as the handle exists, the wrapped trace should continue to exist and will not advance its timestamps past the frontier maintained by the handle. The intent is that such a handle appears as if it is a privately maintained trace, despite being backed by shared resources.
Fields
wrapper: Rc<RefCell<TraceBox<K, V, T, R, Tr>>>
Wrapped trace. Please be gentle when using.
Methods
impl<K, V, T, R, Tr> TraceRc<K, V, T, R, Tr> where
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,
[src]
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,
fn make_from(trace: Tr) -> (Self, Rc<RefCell<TraceBox<K, V, T, R, Tr>>>)
[src]
Allocates a new handle from an existing wrapped wrapper.
Trait Implementations
impl<K, V, T, R, Tr> TraceReader<K, V, T, R> for TraceRc<K, V, T, R, Tr> where
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,
[src]
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,
type Batch = Tr::Batch
The type of an immutable collection of updates.
type Cursor = Tr::Cursor
The type used to enumerate the collections contents.
fn advance_by(&mut self, frontier: &[T])
[src]
Sets frontier to now be elements in frontier
.
This change may not have immediately observable effects. It informs the shared trace that this
handle no longer requires access to times other than those in the future of frontier
, but if
there are other handles to the same trace, it may not yet be able to compact.
fn advance_frontier(&mut self) -> &[T]
[src]
Reports the frontier from which all time comparisions should be accurate. Read more
fn distinguish_since(&mut self, frontier: &[T])
[src]
Allows the trace to compact batches of times before frontier
.
fn distinguish_frontier(&mut self) -> &[T]
[src]
Reports the frontier from which the collection may be subsetted. Read more
fn cursor_through(
&mut self,
frontier: &[T]
) -> Option<(Tr::Cursor, <Tr::Cursor as Cursor<K, V, T, R>>::Storage)>
[src]
&mut self,
frontier: &[T]
) -> Option<(Tr::Cursor, <Tr::Cursor as Cursor<K, V, T, R>>::Storage)>
Creates a new cursor over the wrapped trace.
fn map_batches<F: FnMut(&Self::Batch)>(&mut self, f: F)
[src]
Maps some logic across the batches the collection manages. Read more
fn cursor(
&mut self
) -> (Self::Cursor, <Self::Cursor as Cursor<Key, Val, Time, R>>::Storage)
[src]
&mut self
) -> (Self::Cursor, <Self::Cursor as Cursor<Key, Val, Time, R>>::Storage)
Provides a cursor over updates contained in the trace.
impl<K, V, T: Lattice + Ord + Clone, R, Tr> Clone for TraceRc<K, V, T, R, Tr> where
Tr: TraceReader<K, V, T, R>,
[src]
Tr: TraceReader<K, V, T, R>,
fn clone(&self) -> Self
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<K, V, T, R, Tr> Drop for TraceRc<K, V, T, R, Tr> where
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,
[src]
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>,