Trait divans::threading::ThreadToMain [−][src]
pub trait ThreadToMain<AllocU8: Allocator<u8>> { const COOPERATIVE: bool; const ISOLATED: bool; fn pull_data(&mut self) -> ThreadData<AllocU8>; fn pull_context_map(
&mut self,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> Result<PredictionModeContextMap<AllocatedMemoryPrefix<u8, AllocU8>>, ()>; fn push_cmd<Specialization: EncoderOrDecoderRecoderSpecialization>(
&mut self,
cmd: &mut Command<AllocatedMemoryPrefix<u8, AllocU8>>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>,
recoder: Option<&mut DivansRecodeState<AllocU8::AllocatedMemory>>,
specialization: &mut Specialization,
output: &mut [u8],
output_offset: &mut usize
) -> DivansOutputResult; fn push_consumed_data(
&mut self,
data: &mut AllocatedMemoryRange<u8, AllocU8>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> DivansOutputResult; fn push_eof(&mut self) -> DivansOutputResult; fn broadcast_err(&mut self, err: ErrMsg); }
Associated Constants
const COOPERATIVE: bool
const ISOLATED: bool
Required Methods
fn pull_data(&mut self) -> ThreadData<AllocU8>
fn pull_context_map(
&mut self,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> Result<PredictionModeContextMap<AllocatedMemoryPrefix<u8, AllocU8>>, ()>
&mut self,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> Result<PredictionModeContextMap<AllocatedMemoryPrefix<u8, AllocU8>>, ()>
fn push_cmd<Specialization: EncoderOrDecoderRecoderSpecialization>(
&mut self,
cmd: &mut Command<AllocatedMemoryPrefix<u8, AllocU8>>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>,
recoder: Option<&mut DivansRecodeState<AllocU8::AllocatedMemory>>,
specialization: &mut Specialization,
output: &mut [u8],
output_offset: &mut usize
) -> DivansOutputResult
&mut self,
cmd: &mut Command<AllocatedMemoryPrefix<u8, AllocU8>>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>,
recoder: Option<&mut DivansRecodeState<AllocU8::AllocatedMemory>>,
specialization: &mut Specialization,
output: &mut [u8],
output_offset: &mut usize
) -> DivansOutputResult
fn push_consumed_data(
&mut self,
data: &mut AllocatedMemoryRange<u8, AllocU8>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> DivansOutputResult
&mut self,
data: &mut AllocatedMemoryRange<u8, AllocU8>,
m8: Option<&mut RepurposingAlloc<u8, AllocU8>>
) -> DivansOutputResult
fn push_eof(&mut self) -> DivansOutputResult
fn broadcast_err(&mut self, err: ErrMsg)
Implementors
impl<AllocU8: Allocator<u8>, WorkerInterface: ThreadToMain<AllocU8>> ThreadToMain<AllocU8> for ThreadToMainDemuxer<AllocU8, WorkerInterface>
impl<AllocU8: Allocator<u8>, AllocCommand: Allocator<StaticCommand>> ThreadToMain<AllocU8> for SerialWorker<AllocU8, AllocCommand>
impl<AllocU8: Allocator<u8>, AllocCommand: Allocator<StaticCommand>> ThreadToMain<AllocU8> for MultiWorker<AllocU8, AllocCommand>
impl<AllocU8: Allocator<u8>, AllocCommand: Allocator<StaticCommand>> ThreadToMain<AllocU8> for BufferedMultiWorker<AllocU8, AllocCommand>