pub trait BatchSpawnable<ReturnValue: Send + 'static, ExtraInput: Send + 'static, Alloc: BrotliAlloc + Send + 'static, U: Send + 'static + Sync>where
    <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static,{
    type JoinHandle: Joinable<ReturnValue, BrotliEncoderThreadError>;
    type FinalJoinHandle: OwnedRetriever<U>;

    // Required methods
    fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle;
    fn spawn<F: Fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue + Send + 'static + Copy>(
        &mut self,
        handle: &mut Self::FinalJoinHandle,
        alloc: &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>,
        index: usize,
        num_threads: usize,
        f: F
    );
}

Required Associated Types§

Required Methods§

source

fn make_spawner(&mut self, input: &mut Owned<U>) -> Self::FinalJoinHandle

source

fn spawn<F: Fn(ExtraInput, usize, usize, &U, Alloc) -> ReturnValue + Send + 'static + Copy>( &mut self, handle: &mut Self::FinalJoinHandle, alloc: &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>, index: usize, num_threads: usize, f: F )

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<ReturnValue: Send + 'static, ExtraInput: Send + 'static, Alloc: BrotliAlloc + Send + 'static, U: Send + 'static + Sync> BatchSpawnable<ReturnValue, ExtraInput, Alloc, U> for MultiThreadedSpawnerwhere <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static,

source§

impl<ReturnValue: Send + 'static, ExtraInput: Send + 'static, Alloc: BrotliAlloc + Send + 'static, U: Send + 'static + Sync> BatchSpawnable<ReturnValue, ExtraInput, Alloc, U> for SingleThreadedSpawnerwhere <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static,