Struct differential_dataflow::trace::wrappers::rc::TraceRc [−][src]
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<Tr>>>
Wrapped trace. Please be gentle when using.
Implementations
impl<Tr> TraceRc<Tr> where
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
[src]
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
pub fn make_from(trace: Tr) -> (Self, Rc<RefCell<TraceBox<Tr>>>)
[src]
Allocates a new handle from an existing wrapped wrapper.
Trait Implementations
impl<Tr> Clone for TraceRc<Tr> where
Tr::Time: Lattice + Ord + Clone,
Tr: TraceReader,
[src]
Tr::Time: Lattice + Ord + Clone,
Tr: TraceReader,
fn clone(&self) -> Self
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<Tr> Drop for TraceRc<Tr> where
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
[src]
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
impl<Tr> TraceReader for TraceRc<Tr> where
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
[src]
Tr::Time: Lattice + Ord + Clone + 'static,
Tr: TraceReader,
type Key = Tr::Key
Key by which updates are indexed.
type Val = Tr::Val
Values associated with keys.
type Time = Tr::Time
Timestamps associated with updates
type R = Tr::R
Associated update.
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 set_logical_compaction(&mut self, frontier: AntichainRef<'_, Tr::Time>)
[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 get_logical_compaction(&mut self) -> AntichainRef<'_, Tr::Time>
[src]
fn set_physical_compaction(&mut self, frontier: AntichainRef<'_, Tr::Time>)
[src]
Allows the trace to compact batches of times before frontier
.
fn get_physical_compaction(&mut self) -> AntichainRef<'_, Tr::Time>
[src]
fn cursor_through(
&mut self,
frontier: AntichainRef<'_, Tr::Time>
) -> Option<(Tr::Cursor, <Tr::Cursor as Cursor<Tr::Key, Tr::Val, Tr::Time, Tr::R>>::Storage)>
[src]
&mut self,
frontier: AntichainRef<'_, Tr::Time>
) -> Option<(Tr::Cursor, <Tr::Cursor as Cursor<Tr::Key, Tr::Val, Tr::Time, Tr::R>>::Storage)>
Creates a new cursor over the wrapped trace.
fn map_batches<F: FnMut(&Self::Batch)>(&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)
fn advance_by(&mut self, frontier: AntichainRef<'_, Self::Time>)
[src]
fn advance_frontier(&mut self) -> AntichainRef<'_, Self::Time>
[src]
fn distinguish_since(&mut self, frontier: AntichainRef<'_, Self::Time>)
[src]
fn distinguish_frontier(&mut self) -> AntichainRef<'_, Self::Time>
[src]
fn read_upper(&mut self, target: &mut Antichain<Self::Time>) where
Self::Time: Timestamp,
[src]
Self::Time: Timestamp,
fn advance_upper(&mut self, upper: &mut Antichain<Self::Time>) where
Self::Time: Timestamp,
[src]
Self::Time: Timestamp,
Auto Trait Implementations
impl<Tr> !RefUnwindSafe for TraceRc<Tr>
impl<Tr> !Send for TraceRc<Tr>
impl<Tr> !Sync for TraceRc<Tr>
impl<Tr> Unpin for TraceRc<Tr> where
<Tr as TraceReader>::Time: Unpin,
<Tr as TraceReader>::Time: Unpin,
impl<Tr> !UnwindSafe for TraceRc<Tr>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Data for T where
T: 'static + Clone,
[src]
T: 'static + Clone,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut 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.
pub 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>,