pub struct ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>where
St: ?Sized + Stream,
St::Item: 'static + Send,
FutFac: FutureFactory<St::Item>,
FutFac::Fut: 'static + Send + Future,
<FutFac::Fut as Future>::Output: Send,
FnFac: FnFactory<<FutFac::Fut as Future>::Output, Out>,
FnFac::Fn: 'static + Send + FnOnce() -> Out,
Out: 'static + Send,{ /* private fields */ }
Expand description
The parallel stream builder with scheduled asynchronous tasks and a blocking task in the end.
Implementations§
Source§impl<St, FutFac, FnFac, Out> ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>where
St: Stream,
St::Item: 'static + Send,
FutFac: 'static + Send + FutureFactory<St::Item>,
FutFac::Fut: 'static + Send + Future,
<FutFac::Fut as Future>::Output: 'static + Send,
FnFac: 'static + Send + Clone + FnFactory<<FutFac::Fut as Future>::Output, Out>,
FnFac::Fn: 'static + Send + FnOnce() -> Out,
Out: 'static + Send,
impl<St, FutFac, FnFac, Out> ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>where
St: Stream,
St::Item: 'static + Send,
FutFac: 'static + Send + FutureFactory<St::Item>,
FutFac::Fut: 'static + Send + Future,
<FutFac::Fut as Future>::Output: 'static + Send,
FnFac: 'static + Send + Clone + FnFactory<<FutFac::Fut as Future>::Output, Out>,
FnFac::Fn: 'static + Send + FnOnce() -> Out,
Out: 'static + Send,
Sourcepub fn map_async<NewFac, NewFut>(
self,
new_fac: NewFac,
) -> ParAsyncBuilder<St, BoxFutureFactory<'static, St::Item, NewFut::Output>>
pub fn map_async<NewFac, NewFut>( self, new_fac: NewFac, ) -> ParAsyncBuilder<St, BoxFutureFactory<'static, St::Item, NewFut::Output>>
Schedule an asynchronous task.
Sourcepub fn map_blocking<NewOut, NewFac, NewFunc>(
self,
new_fac: NewFac,
) -> ParAsyncTailBlockBuilder<St, FutFac, BoxFnFactory<<FutFac::Fut as Future>::Output, NewOut>, NewOut>
pub fn map_blocking<NewOut, NewFac, NewFunc>( self, new_fac: NewFac, ) -> ParAsyncTailBlockBuilder<St, FutFac, BoxFnFactory<<FutFac::Fut as Future>::Output, NewOut>, NewOut>
Schedule a blocking task.
Sourcepub fn build_unordered_stream<P>(self, params: P) -> UnorderedStream<Out>
pub fn build_unordered_stream<P>(self, params: P) -> UnorderedStream<Out>
Creates a stream that runs scheduled parallel tasks, which output does not respect the input order.
Sourcepub fn build_ordered_stream<P>(self, params: P) -> OrderedStream<Out>
pub fn build_ordered_stream<P>(self, params: P) -> OrderedStream<Out>
Creates a stream that runs scheduled parallel tasks, which output respects the input order.
Source§impl<St, FutFac, FnFac> ParAsyncTailBlockBuilder<St, FutFac, FnFac, ()>where
St: 'static + Send + Stream,
St::Item: 'static + Send,
FutFac: 'static + Send + FutureFactory<St::Item>,
FutFac::Fut: 'static + Send + Future,
<FutFac::Fut as Future>::Output: 'static + Send,
FnFac: 'static + Send + Clone + FnFactory<<FutFac::Fut as Future>::Output, ()>,
FnFac::Fn: 'static + Send + FnOnce(),
impl<St, FutFac, FnFac> ParAsyncTailBlockBuilder<St, FutFac, FnFac, ()>where
St: 'static + Send + Stream,
St::Item: 'static + Send,
FutFac: 'static + Send + FutureFactory<St::Item>,
FutFac::Fut: 'static + Send + Future,
<FutFac::Fut as Future>::Output: 'static + Send,
FnFac: 'static + Send + Clone + FnFactory<<FutFac::Fut as Future>::Output, ()>,
FnFac::Fn: 'static + Send + FnOnce(),
Auto Trait Implementations§
impl<St, FutFac, FnFac, Out> Freeze for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
impl<St, FutFac, FnFac, Out> RefUnwindSafe for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
impl<St, FutFac, FnFac, Out> Send for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
impl<St, FutFac, FnFac, Out> Sync for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
impl<St, FutFac, FnFac, Out> Unpin for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
impl<St, FutFac, FnFac, Out> UnwindSafe for ParAsyncTailBlockBuilder<St, FutFac, FnFac, Out>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more