Skip to main content

BroadbandExt

Trait BroadbandExt 

Source
pub trait BroadbandExt<Item>
where Self: Stream<Item = Item> + Send + Sized,
{ // Required methods fn broadn_all<F, Fut, N>( self, n: N, f: F, ) -> impl Future<Output = bool> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send; fn broadn_any<F, Fut, N>( self, n: N, f: F, ) -> impl Future<Output = bool> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send; fn broadn_filter_map<F, Fut, U, N>( self, n: N, f: F, ) -> impl Stream<Item = U> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = Option<U>> + Send, U: Send; fn broadn_find_map<'a, F, Fut, U, N>( self, n: N, f: F, ) -> impl Future<Output = Option<U>> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send + 'a, Fut: Future<Output = Option<U>> + Send, U: Send + 'a, Self: Unpin + 'a; fn broadn_flat_map<F, Fut, U, N>( self, n: N, f: F, ) -> impl Stream<Item = U> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Stream<Item = U> + Send + Unpin, U: Send; fn broadn_then<F, Fut, U, N>( self, n: N, f: F, ) -> impl Stream<Item = U> + Send where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = U> + Send, U: Send; // Provided methods fn broad_all<F, Fut>(self, f: F) -> impl Future<Output = bool> + Send where F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send { ... } fn broad_any<F, Fut>(self, f: F) -> impl Future<Output = bool> + Send where F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send { ... } fn broad_filter_map<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send where F: Fn(Item) -> Fut + Send, Fut: Future<Output = Option<U>> + Send, U: Send { ... } fn broad_find_map<'a, F, Fut, U>( self, f: F, ) -> impl Future<Output = Option<U>> + Send where F: Fn(Item) -> Fut + Send + 'a, Fut: Future<Output = Option<U>> + Send, U: Send + 'a, Self: Unpin + 'a { ... } fn broad_flat_map<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send where F: Fn(Item) -> Fut + Send, Fut: Stream<Item = U> + Send + Unpin, U: Send { ... } fn broad_then<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send where F: Fn(Item) -> Fut + Send, Fut: Future<Output = U> + Send, U: Send { ... } }
Expand description

Concurrency extensions to augment futures::StreamExt. broad_ combinators produce out-of-order

Required Methods§

Source

fn broadn_all<F, Fut, N>(self, n: N, f: F) -> impl Future<Output = bool> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send,

Source

fn broadn_any<F, Fut, N>(self, n: N, f: F) -> impl Future<Output = bool> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send,

Source

fn broadn_filter_map<F, Fut, U, N>( self, n: N, f: F, ) -> impl Stream<Item = U> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = Option<U>> + Send, U: Send,

Concurrent filter_map(); unordered results

Source

fn broadn_find_map<'a, F, Fut, U, N>( self, n: N, f: F, ) -> impl Future<Output = Option<U>> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send + 'a, Fut: Future<Output = Option<U>> + Send, U: Send + 'a, Self: Unpin + 'a,

Concurrent find_map(); unordered result

Source

fn broadn_flat_map<F, Fut, U, N>( self, n: N, f: F, ) -> impl Stream<Item = U> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Stream<Item = U> + Send + Unpin, U: Send,

Source

fn broadn_then<F, Fut, U, N>(self, n: N, f: F) -> impl Stream<Item = U> + Send
where N: Into<Option<usize>>, F: Fn(Item) -> Fut + Send, Fut: Future<Output = U> + Send, U: Send,

Provided Methods§

Source

fn broad_all<F, Fut>(self, f: F) -> impl Future<Output = bool> + Send
where F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send,

Source

fn broad_any<F, Fut>(self, f: F) -> impl Future<Output = bool> + Send
where F: Fn(Item) -> Fut + Send, Fut: Future<Output = bool> + Send,

Source

fn broad_filter_map<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send
where F: Fn(Item) -> Fut + Send, Fut: Future<Output = Option<U>> + Send, U: Send,

Source

fn broad_find_map<'a, F, Fut, U>( self, f: F, ) -> impl Future<Output = Option<U>> + Send
where F: Fn(Item) -> Fut + Send + 'a, Fut: Future<Output = Option<U>> + Send, U: Send + 'a, Self: Unpin + 'a,

Source

fn broad_flat_map<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send
where F: Fn(Item) -> Fut + Send, Fut: Stream<Item = U> + Send + Unpin, U: Send,

Source

fn broad_then<F, Fut, U>(self, f: F) -> impl Stream<Item = U> + Send
where F: Fn(Item) -> Fut + Send, Fut: Future<Output = U> + Send, U: Send,

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.

Implementors§

Source§

impl<Item, S> BroadbandExt<Item> for S
where S: Stream<Item = Item> + Send + Sized,