Module differential_dataflow::trace::wrappers::freeze
source · Expand description
Wrappers to transform the timestamps of updates.
These wrappers are primarily intended to support the re-use of a multi-version index as if it were frozen at a particular (nested) timestamp. For example, if one wants to re-use an index multiple times with minor edits, and only observe the edits at one logical time (meaning: observing all edits less or equal to that time, advanced to that time), this should allow that behavior.
Informally, this wrapper is parameterized by a function F: Fn(&T)->Option<T>
which
provides the opportunity to alter the time at which an update happens and to suppress
that update, if appropriate. For example, the function
|t| if t.inner <= 10 { let mut t = t.clone(); t.inner = 10; Some(t) } else { None }
could be used to present all updates through inner iteration 10, but advanced to inner iteration 10, as if they all occurred exactly at that moment.
Structs§
- Wrapper to provide cursor to nested scope.
- Wrapper to provide batch to nested scope.
- Wrapper to provide cursor to nested scope.
- Wrapper to provide trace to nested scope.
Functions§
- Freezes updates to an arrangement using a supplied function.