pub struct LowRateDecoder<E: Engine> { /* private fields */ }Expand description
Reed-Solomon decoder using only low rate.
Trait Implementations§
Source§impl<E: Engine> RateDecoder<E> for LowRateDecoder<E>
impl<E: Engine> RateDecoder<E> for LowRateDecoder<E>
Source§fn add_original_shard<T: AsRef<[u8]>>(
&mut self,
index: usize,
original_shard: T,
) -> Result<(), Error>
fn add_original_shard<T: AsRef<[u8]>>( &mut self, index: usize, original_shard: T, ) -> Result<(), Error>
Source§fn add_recovery_shard<T: AsRef<[u8]>>(
&mut self,
index: usize,
recovery_shard: T,
) -> Result<(), Error>
fn add_recovery_shard<T: AsRef<[u8]>>( &mut self, index: usize, recovery_shard: T, ) -> Result<(), Error>
Source§fn decode(
&mut self,
compute_recovery: bool,
) -> Result<Option<DecoderResult<'_>>, Error>
fn decode( &mut self, compute_recovery: bool, ) -> Result<Option<DecoderResult<'_>>, Error>
Like
Decoder::decode: reconstructs the missing
shards, or returns Ok(None) if every original was already provided (nothing to reconstruct).
When compute_recovery is set, the missing recovery shards are also reconstructed.Source§fn into_parts(self) -> (E, DecoderWork)
fn into_parts(self) -> (E, DecoderWork)
Consumes this decoder returning its
Engine and DecoderWork
so that they can be re-used by another decoder.Source§fn new(
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
engine: E,
work: Option<DecoderWork>,
) -> Result<Self, Error>
fn new( original_count: usize, recovery_count: usize, shard_bytes: usize, engine: E, work: Option<DecoderWork>, ) -> Result<Self, Error>
Like
Decoder::new
with Engine to use and optional working space to be re-used.Source§fn reset(
&mut self,
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
) -> Result<(), Error>
fn reset( &mut self, original_count: usize, recovery_count: usize, shard_bytes: usize, ) -> Result<(), Error>
Like
Decoder::reset.Auto Trait Implementations§
impl<E> Freeze for LowRateDecoder<E>where
E: Freeze,
impl<E> RefUnwindSafe for LowRateDecoder<E>where
E: RefUnwindSafe,
impl<E> Send for LowRateDecoder<E>where
E: Send,
impl<E> Sync for LowRateDecoder<E>where
E: Sync,
impl<E> Unpin for LowRateDecoder<E>where
E: Unpin,
impl<E> UnsafeUnpin for LowRateDecoder<E>where
E: UnsafeUnpin,
impl<E> UnwindSafe for LowRateDecoder<E>where
E: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more