Trait StreamExt

Source
pub trait StreamExt<G, C1>
where C1: Container + DrainContainer, G: Scope,
{ // Required methods fn unary_fallible<DCB, ECB, B, P>( &self, pact: P, name: &str, constructor: B, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>) where DCB: ContainerBuilder, ECB: ContainerBuilder, B: FnOnce(Capability<G::Timestamp>, OperatorInfo) -> Box<dyn FnMut(&mut InputHandleCore<G::Timestamp, C1, P::Puller>, &mut OutputHandleCore<'_, G::Timestamp, DCB, Tee<G::Timestamp, DCB::Container>>, &mut OutputHandleCore<'_, G::Timestamp, ECB, Tee<G::Timestamp, ECB::Container>>) + 'static>, P: ParallelizationContract<G::Timestamp, C1>; fn flat_map_fallible<DCB, ECB, D2, E, I, L>( &self, name: &str, logic: L, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>) where DCB: ContainerBuilder + PushInto<D2>, ECB: ContainerBuilder + PushInto<E>, I: IntoIterator<Item = Result<D2, E>>, L: for<'a> FnMut(C1::Item<'a>) -> I + 'static; fn expire_stream_at( &self, name: &str, expiration: G::Timestamp, token: Weak<()>, ) -> StreamCore<G, C1>; }
Expand description

Extension methods for timely StreamCores.

Required Methods§

Source

fn unary_fallible<DCB, ECB, B, P>( &self, pact: P, name: &str, constructor: B, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>)
where DCB: ContainerBuilder, ECB: ContainerBuilder, B: FnOnce(Capability<G::Timestamp>, OperatorInfo) -> Box<dyn FnMut(&mut InputHandleCore<G::Timestamp, C1, P::Puller>, &mut OutputHandleCore<'_, G::Timestamp, DCB, Tee<G::Timestamp, DCB::Container>>, &mut OutputHandleCore<'_, G::Timestamp, ECB, Tee<G::Timestamp, ECB::Container>>) + 'static>, P: ParallelizationContract<G::Timestamp, C1>,

Like timely::dataflow::operators::generic::operator::Operator::unary, but the logic function can handle failures.

Creates a new dataflow operator that partitions its input stream by a parallelization strategy pact and repeatedly invokes logic, the function returned by the function passed as constructor. The logic function can read to the input stream and write to either of two output streams, where the first output stream represents successful computations and the second output stream represents failed computations.

Source

fn flat_map_fallible<DCB, ECB, D2, E, I, L>( &self, name: &str, logic: L, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>)
where DCB: ContainerBuilder + PushInto<D2>, ECB: ContainerBuilder + PushInto<E>, I: IntoIterator<Item = Result<D2, E>>, L: for<'a> FnMut(C1::Item<'a>) -> I + 'static,

Like timely::dataflow::operators::map::Map::flat_map, but logic is allowed to fail. The first returned stream will contain the successful applications of logic, while the second returned stream will contain the failed applications.

Source

fn expire_stream_at( &self, name: &str, expiration: G::Timestamp, token: Weak<()>, ) -> StreamCore<G, C1>

Block progress of the frontier at expiration time, unless the token is dropped.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<G, C1> StreamExt<G, C1> for StreamCore<G, C1>
where C1: Container + DrainContainer, G: Scope,

Source§

fn unary_fallible<DCB, ECB, B, P>( &self, pact: P, name: &str, constructor: B, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>)
where DCB: ContainerBuilder, ECB: ContainerBuilder, B: FnOnce(Capability<G::Timestamp>, OperatorInfo) -> Box<dyn FnMut(&mut InputHandleCore<G::Timestamp, C1, P::Puller>, &mut OutputHandleCore<'_, G::Timestamp, DCB, Tee<G::Timestamp, DCB::Container>>, &mut OutputHandleCore<'_, G::Timestamp, ECB, Tee<G::Timestamp, ECB::Container>>) + 'static>, P: ParallelizationContract<G::Timestamp, C1>,

Source§

fn flat_map_fallible<DCB, ECB, D2, E, I, L>( &self, name: &str, logic: L, ) -> (StreamCore<G, DCB::Container>, StreamCore<G, ECB::Container>)
where DCB: ContainerBuilder + PushInto<D2>, ECB: ContainerBuilder + PushInto<E>, I: IntoIterator<Item = Result<D2, E>>, L: for<'a> FnMut(C1::Item<'a>) -> I + 'static,

Source§

fn expire_stream_at( &self, name: &str, expiration: G::Timestamp, token: Weak<()>, ) -> StreamCore<G, C1>

Implementors§