PipelineContext

Trait PipelineContext 

Source
pub trait PipelineContext<S, Q: AsRef<[Align64<Block<R>>]> + AsMut<[Align64<Block<R>>]>, R: ArrayLength + NonZero, K> {
    // Required methods
    fn begin(&mut self, state: &mut S, buffer_set: &mut BufferSet<Q, R>);
    fn drain(self, state: &mut S, buffer_set: &mut BufferSet<Q, R>) -> Option<K>;
}
Expand description

A context for a pipeline computation.

It is already implemented for (&'a Align64<Block<R>>, &'b mut BlockU8<R>) and (&'a Align64<Block<R>>, &'b mut Align64<BlockU8<R>>)

Required Methods§

Source

fn begin(&mut self, state: &mut S, buffer_set: &mut BufferSet<Q, R>)

Called to initialize each computation.

Source

fn drain(self, state: &mut S, buffer_set: &mut BufferSet<Q, R>) -> Option<K>

Called to process the result of each computation.

Returns Some(K) if the computation should be terminated.

Implementations on Foreign Types§

Source§

impl<'a, 'b, S, Q: AsRef<[Align64<Block<R>>]> + AsMut<[Align64<Block<R>>]>, R: ArrayLength + NonZero> PipelineContext<S, Q, R, ()> for (&'a Align64<Block<R>>, &'b mut Align64<Block<R>>)

Source§

fn begin(&mut self, _state: &mut S, buffer_set: &mut BufferSet<Q, R>)

Source§

fn drain(self, _state: &mut S, buffer_set: &mut BufferSet<Q, R>) -> Option<()>

Implementors§