pub struct TraceBox<Tr: TraceReader> {
pub logical_compaction: MutableAntichain<Tr::Time>,
pub physical_compaction: MutableAntichain<Tr::Time>,
pub trace: Tr,
}
Expand description
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§
§logical_compaction: MutableAntichain<Tr::Time>
accumulated holds on times for advancement.
physical_compaction: MutableAntichain<Tr::Time>
accumulated holds on times for distinction.
trace: Tr
The wrapped trace.
Implementations§
source§impl<Tr: TraceReader> TraceBox<Tr>
impl<Tr: TraceReader> TraceBox<Tr>
sourcepub fn new(trace: Tr) -> Self
pub fn new(trace: Tr) -> Self
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.
sourcepub fn adjust_logical_compaction(
&mut self,
lower: AntichainRef<'_, Tr::Time>,
upper: AntichainRef<'_, Tr::Time>,
)
pub fn adjust_logical_compaction( &mut self, lower: AntichainRef<'_, Tr::Time>, upper: AntichainRef<'_, Tr::Time>, )
Replaces elements of lower
with those of upper
.
sourcepub fn adjust_physical_compaction(
&mut self,
lower: AntichainRef<'_, Tr::Time>,
upper: AntichainRef<'_, Tr::Time>,
)
pub fn adjust_physical_compaction( &mut self, lower: AntichainRef<'_, Tr::Time>, upper: AntichainRef<'_, Tr::Time>, )
Replaces elements of lower
with those of upper
.
Auto Trait Implementations§
impl<Tr> Freeze for TraceBox<Tr>
impl<Tr> RefUnwindSafe for TraceBox<Tr>
impl<Tr> Send for TraceBox<Tr>where
Tr: Send,
impl<Tr> Sync for TraceBox<Tr>
impl<Tr> Unpin for TraceBox<Tr>
impl<Tr> UnwindSafe for TraceBox<Tr>
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<'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
.