mz_compute::logging::compute

Type Alias OutputSession

Source
type OutputSession<'a, D> = Session<'a, Timestamp, CapacityContainerBuilder<Vec<(D, Timestamp, Diff)>>, Counter<Timestamp, Vec<(D, Timestamp, Diff)>, Tee<Timestamp, Vec<(D, Timestamp, Diff)>>>>;
Expand description

An output session for vector-based containers of updates D, using a capacity container builder.

Aliased Type§

struct OutputSession<'a, D> { /* private fields */ }

Implementations

Source§

impl<'a, T, CB, P> Session<'a, T, CB, P>
where CB: ContainerBuilder, T: Eq + Clone + 'a, P: Push<Message<T, <CB as ContainerBuilder>::Container>> + 'a,

Source

pub fn give_container( &mut self, container: &mut <CB as ContainerBuilder>::Container, )

Provide a container at the time specified by the Session. Maintains FIFO order with previously pushed data.

Source§

impl<'a, T, CB, P> Session<'a, T, CB, P>
where T: Eq + Clone + 'a, CB: ContainerBuilder + 'a, P: Push<Message<T, <CB as ContainerBuilder>::Container>> + 'a,

Source

pub fn builder(&self) -> &CB

Access the builder. Immutable access to prevent races with flushing the underlying buffer.

Source

pub fn give<D>(&mut self, data: D)
where CB: PushInto<D>,

Provides one record at the time specified by the Session.

Source

pub fn give_iterator<I>(&mut self, iter: I)
where I: Iterator, CB: PushInto<<I as Iterator>::Item>,

Provides an iterator of records at the time specified by the Session.

Trait Implementations

Source§

impl<'a, T, CB, P, D> PushInto<D> for Session<'a, T, CB, P>
where T: Eq + Clone + 'a, CB: ContainerBuilder + PushInto<D> + 'a, P: Push<Message<T, <CB as ContainerBuilder>::Container>> + 'a,

Source§

fn push_into(&mut self, item: D)

Push item into self.