Struct differential_dataflow::trace::wrappers::rc::TraceBox[][src]

pub struct TraceBox<Tr> where
    Tr::Time: Lattice + Ord + Clone + 'static,
    Tr: TraceReader
{ pub logical_compaction: MutableAntichain<Tr::Time>, pub physical_compaction: MutableAntichain<Tr::Time>, pub trace: Tr, }

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

impl<Tr> TraceBox<Tr> where
    Tr::Time: Lattice + Ord + Clone + 'static,
    Tr: TraceReader
[src]

pub 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.

pub fn adjust_logical_compaction(
    &mut self,
    lower: AntichainRef<'_, Tr::Time>,
    upper: AntichainRef<'_, Tr::Time>
)
[src]

Replaces elements of lower with those of upper.

pub fn adjust_physical_compaction(
    &mut self,
    lower: AntichainRef<'_, Tr::Time>,
    upper: AntichainRef<'_, Tr::Time>
)
[src]

Replaces elements of lower with those of upper.

Auto Trait Implementations

impl<Tr> RefUnwindSafe for TraceBox<Tr> where
    Tr: RefUnwindSafe,
    <Tr as TraceReader>::Time: RefUnwindSafe

impl<Tr> Send for TraceBox<Tr> where
    Tr: Send,
    <Tr as TraceReader>::Time: Send

impl<Tr> Sync for TraceBox<Tr> where
    Tr: Sync,
    <Tr as TraceReader>::Time: Sync

impl<Tr> Unpin for TraceBox<Tr> where
    Tr: Unpin,
    <Tr as TraceReader>::Time: Unpin

impl<Tr> UnwindSafe for TraceBox<Tr> where
    Tr: UnwindSafe,
    <Tr as TraceReader>::Time: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.