Struct differential_dataflow::trace::wrappers::enter_at::TraceEnter
source · pub struct TraceEnter<Tr: TraceReader, TInner, F, G> { /* private fields */ }
Expand description
Wrapper to provide trace to nested scope.
Each wrapped update is presented with a timestamp determined by logic
.
At the same time, we require a method prior
that can “invert” timestamps,
and which will be applied to compaction frontiers as they are communicated
back to the wrapped traces. A better explanation is pending, and until that
happens use this construct at your own peril!
Implementations§
source§impl<Tr, TInner, F, G> TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> TraceEnter<Tr, TInner, F, G>
Trait Implementations§
source§impl<Tr, TInner, F, G> Clone for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> Clone for TraceEnter<Tr, TInner, F, G>
source§impl<Tr, TInner, F, G> TraceReader for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> TraceReader for TraceEnter<Tr, TInner, F, G>
§type Key<'a> = <Tr as TraceReader>::Key<'a>
type Key<'a> = <Tr as TraceReader>::Key<'a>
Key by which updates are indexed.
§type Val<'a> = <Tr as TraceReader>::Val<'a>
type Val<'a> = <Tr as TraceReader>::Val<'a>
Values associated with keys.
§type TimeGat<'a> = &'a TInner
type TimeGat<'a> = &'a TInner
Borrowed form of timestamp.
§type Diff = <Tr as TraceReader>::Diff
type Diff = <Tr as TraceReader>::Diff
Owned form of update difference.
§type DiffGat<'a> = <Tr as TraceReader>::DiffGat<'a>
type DiffGat<'a> = <Tr as TraceReader>::DiffGat<'a>
Borrowed form of update difference.
§type Batch = BatchEnter<<Tr as TraceReader>::Batch, TInner, F>
type Batch = BatchEnter<<Tr as TraceReader>::Batch, TInner, F>
The type of an immutable collection of updates.
§type Storage = <Tr as TraceReader>::Storage
type Storage = <Tr as TraceReader>::Storage
Storage type for
Self::Cursor
. Likely related to Self::Batch
.§type Cursor = CursorEnter<<Tr as TraceReader>::Cursor, TInner, F>
type Cursor = CursorEnter<<Tr as TraceReader>::Cursor, TInner, F>
The type used to enumerate the collections contents.
source§fn map_batches<F2: FnMut(&Self::Batch)>(&self, f: F2)
fn map_batches<F2: FnMut(&Self::Batch)>(&self, f: F2)
Maps logic across the non-empty sequence of batches in the trace. Read more
source§fn set_logical_compaction(&mut self, frontier: AntichainRef<'_, TInner>)
fn set_logical_compaction(&mut self, frontier: AntichainRef<'_, TInner>)
Advances the frontier that constrains logical compaction. Read more
source§fn get_logical_compaction(&mut self) -> AntichainRef<'_, TInner>
fn get_logical_compaction(&mut self) -> AntichainRef<'_, TInner>
Reports the logical compaction frontier. Read more
source§fn set_physical_compaction(&mut self, frontier: AntichainRef<'_, TInner>)
fn set_physical_compaction(&mut self, frontier: AntichainRef<'_, TInner>)
Advances the frontier that constrains physical compaction. Read more
source§fn get_physical_compaction(&mut self) -> AntichainRef<'_, TInner>
fn get_physical_compaction(&mut self) -> AntichainRef<'_, TInner>
Reports the physical compaction frontier. Read more
source§fn cursor_through(
&mut self,
upper: AntichainRef<'_, TInner>,
) -> Option<(Self::Cursor, Self::Storage)>
fn cursor_through( &mut self, upper: AntichainRef<'_, TInner>, ) -> Option<(Self::Cursor, Self::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 moresource§fn cursor(&mut self) -> (Self::Cursor, Self::Storage)
fn cursor(&mut self) -> (Self::Cursor, Self::Storage)
Provides a cursor over updates contained in the trace.
source§fn advance_by(&mut self, frontier: AntichainRef<'_, Self::Time>)
fn advance_by(&mut self, frontier: AntichainRef<'_, Self::Time>)
👎Deprecated since 0.11: please use
set_logical_compaction
Deprecated form of
set_logical_compaction
.source§fn advance_frontier(&mut self) -> AntichainRef<'_, Self::Time>
fn advance_frontier(&mut self) -> AntichainRef<'_, Self::Time>
👎Deprecated since 0.11: please use
get_logical_compaction
Deprecated form of
get_logical_compaction
.source§fn distinguish_since(&mut self, frontier: AntichainRef<'_, Self::Time>)
fn distinguish_since(&mut self, frontier: AntichainRef<'_, Self::Time>)
👎Deprecated since 0.11: please use
set_physical_compaction
Deprecated form of
set_physical_compaction
.source§fn distinguish_frontier(&mut self) -> AntichainRef<'_, Self::Time>
fn distinguish_frontier(&mut self) -> AntichainRef<'_, Self::Time>
👎Deprecated since 0.11: please use
get_physical_compaction
Deprecated form of
get_physical_compaction
.source§fn read_upper(&mut self, target: &mut Antichain<Self::Time>)
fn read_upper(&mut self, target: &mut Antichain<Self::Time>)
Reads the upper frontier of committed times.
Auto Trait Implementations§
impl<Tr, TInner, F, G> Freeze for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> RefUnwindSafe for TraceEnter<Tr, TInner, F, G>where
Tr: RefUnwindSafe,
F: RefUnwindSafe,
G: RefUnwindSafe,
<Tr as TraceReader>::Time: RefUnwindSafe,
TInner: RefUnwindSafe,
impl<Tr, TInner, F, G> Send for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> Sync for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> Unpin for TraceEnter<Tr, TInner, F, G>
impl<Tr, TInner, F, G> UnwindSafe for TraceEnter<Tr, TInner, F, G>where
Tr: UnwindSafe,
F: UnwindSafe,
G: UnwindSafe,
<Tr as TraceReader>::Time: RefUnwindSafe + UnwindSafe,
TInner: RefUnwindSafe + UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.