pub trait ComputePoolExt {
// Required methods
fn parallel_batch<'life0, 'async_trait, T, F, R>(
&'life0 self,
items: Vec<T>,
batch_size: usize,
f: F,
) -> Pin<Box<dyn Future<Output = Result<Vec<R>>> + Send + 'async_trait>>
where T: Send + Sync + 'static + 'async_trait,
F: Fn(&[T]) -> Vec<R> + Send + Sync + 'static + 'async_trait,
R: Send + 'static + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
fn parallel_map<'life0, 'async_trait, T, F, R>(
&'life0 self,
items: Vec<T>,
f: F,
) -> Pin<Box<dyn Future<Output = Result<Vec<R>>> + Send + 'async_trait>>
where T: Send + Sync + 'static + 'async_trait,
F: Fn(T) -> R + Send + Sync + 'static + 'async_trait,
R: Send + 'static + 'async_trait,
Self: 'async_trait,
'life0: 'async_trait;
}Expand description
Extension trait for ComputePool with additional patterns
Required Methods§
Sourcefn parallel_batch<'life0, 'async_trait, T, F, R>(
&'life0 self,
items: Vec<T>,
batch_size: usize,
f: F,
) -> Pin<Box<dyn Future<Output = Result<Vec<R>>> + Send + 'async_trait>>
fn parallel_batch<'life0, 'async_trait, T, F, R>( &'life0 self, items: Vec<T>, batch_size: usize, f: F, ) -> Pin<Box<dyn Future<Output = Result<Vec<R>>> + Send + 'async_trait>>
Process items in parallel batches
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".