pub trait BatchSpawnableLite<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(
        &mut self,
        handle: &mut Self::FinalJoinHandle,
        alloc_per_thread: &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>,
        index: usize,
        num_threads: usize,
        f: fn(_: ExtraInput, _: usize, _: usize, _: &U, _: Alloc) -> ReturnValue
    );
}

Required Associated Types§

Required Methods§

source

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

source

fn spawn( &mut self, handle: &mut Self::FinalJoinHandle, alloc_per_thread: &mut SendAlloc<ReturnValue, ExtraInput, Alloc, Self::JoinHandle>, index: usize, num_threads: usize, f: fn(_: ExtraInput, _: usize, _: usize, _: &U, _: Alloc) -> ReturnValue )

Implementors§

source§

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

§

type JoinHandle = <MultiThreadedSpawner as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::JoinHandle

§

type FinalJoinHandle = <MultiThreadedSpawner as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::FinalJoinHandle

source§

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

§

type JoinHandle = <SingleThreadedSpawner as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::JoinHandle

§

type FinalJoinHandle = <SingleThreadedSpawner as BatchSpawnable<ReturnValue, ExtraInput, Alloc, U>>::FinalJoinHandle

source§

impl<ReturnValue: Send + 'static, ExtraInput: Send + 'static, Alloc: BrotliAlloc + Send + 'static, U: Send + 'static + Sync> BatchSpawnableLite<ReturnValue, ExtraInput, Alloc, U> for WorkerPool<ReturnValue, ExtraInput, Alloc, U>where <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static, <Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync, <Alloc as Allocator<u32>>::AllocatedMemory: Send + Sync,

§

type FinalJoinHandle = Arc<RwLock<U>>

§

type JoinHandle = WorkerJoinable<ReturnValue, ExtraInput, Alloc, U>