pub trait ParallelReader {
// Required methods
fn process_parallel<P: ParallelProcessor>(
self,
processor: P,
num_threads: usize,
) -> Result<()>;
fn process_parallel_range<P: ParallelProcessor>(
self,
processor: P,
num_threads: usize,
range: Range<usize>,
) -> Result<()>;
}Expand description
Trait for BINSEQ readers that can process records in parallel
This is implemented by the reader not by the processor.
For the processor, see the ParallelProcessor trait.
Required Methods§
fn process_parallel<P: ParallelProcessor>( self, processor: P, num_threads: usize, ) -> Result<()>
Sourcefn process_parallel_range<P: ParallelProcessor>(
self,
processor: P,
num_threads: usize,
range: Range<usize>,
) -> Result<()>
fn process_parallel_range<P: ParallelProcessor>( self, processor: P, num_threads: usize, range: Range<usize>, ) -> Result<()>
Process a range of record indices in parallel, distributed across num_threads
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".