pub trait StreamExt<G, C1>{
// 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 StreamCore
s.
Required Methods§
Sourcefn 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 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.
Sourcefn 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 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.
Sourcefn expire_stream_at(
&self,
name: &str,
expiration: G::Timestamp,
token: Weak<()>,
) -> StreamCore<G, C1>
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.