Struct differential_dataflow::trace::wrappers::rc::TraceBox
[−]
[src]
pub struct TraceBox<K, V, T, R, Tr> where
T: Lattice + Ord + Clone + 'static,
Tr: TraceReader<K, V, T, R>, { pub advance_frontiers: MutableAntichain<T>, pub through_frontiers: MutableAntichain<T>, pub trace: Tr, // some fields omitted }
A wrapper around a trace which tracks the frontiers of all referees.
This is an internal type, unlikely to be useful to higher-level programs, but exposed just in case.
This type is equivalent to a RefCell
, in that it wraps the mutable state that multiple referrers
may influence.
Fields
advance_frontiers: MutableAntichain<T>
accumulated holds on times for advancement.
through_frontiers: MutableAntichain<T>
accumulated holds on times for distinction.
trace: Tr
The wrapped trace.
Methods
impl<K, V, T, R, Tr> TraceBox<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 new(trace: Tr) -> Self
[src]
Moves an existing trace into a shareable trace wrapper.
The trace may already exist and have non-initial advance and distinguish frontiers. The boxing process will fish these out and make sure that they are used for the initial read capabilities.
fn adjust_advance_frontier(&mut self, lower: &[T], upper: &[T])
[src]
Replaces elements of lower
with those of upper
.
fn adjust_through_frontier(&mut self, lower: &[T], upper: &[T])
[src]
Replaces elements of lower
with those of upper
.