brotli::enc::threading

Trait BatchSpawnableLite

source
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 MultiThreadedSpawner
where <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static, <Alloc as Allocator<u16>>::AllocatedMemory: Send + Sync, <Alloc as Allocator<u32>>::AllocatedMemory: Send + Sync,

source§

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

source§

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 SingleThreadedSpawner
where <Alloc as Allocator<u8>>::AllocatedMemory: Send + 'static,

source§

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

source§

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,

source§

type FinalJoinHandle = Arc<RwLock<U>>

source§

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