[][src]Trait brotli::enc::threading::BatchSpawnableLite

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>; 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
    ); }

Associated Types

type JoinHandle: Joinable<ReturnValue, BrotliEncoderThreadError>

type FinalJoinHandle: OwnedRetriever<U>

Loading content...

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
)

Loading content...

Implementors

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
[src]

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

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

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, 
[src]

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

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

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
[src]

type FinalJoinHandle = Arc<RwLock<U>>

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

Loading content...