Skip to main content

Batcher

Trait Batcher 

Source
pub trait Batcher<C0>: Extract {
    // Required method
    fn insert(&mut self, container: &mut C0);
}
Expand description

A type capable of accepting containers of updates, and carving them out by time as batches.

Updates are accepted as C0, the containers that arrive on the dataflow edge, and released as Output, whatever the implementor means by a batch. The two need not agree: an implementor staging updates in a form of its own can release that form directly, and one whose batch is a sequence of chunks names a sequence as its output.

The implementor determines the meaning of extraction by a frontier; it is not required to be by antichain partial order.

Required Methods§

Source

fn insert(&mut self, container: &mut C0)

Takes the updates in container, leaving it in an undefined state.

The implementor decides whether to claim the container’s allocation or to drain it and leave the allocation with the caller, who is free to reuse the container either way.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<C, Chu, M, S> Batcher<C> for MergeBatcher<Chu, M, S>
where M: Extractor<Time: Timestamp>, Chu: ContainerBuilder<Container = M::Chunk> + for<'a> PushInto<&'a mut C>, S: Sealer<M::Chunk>,