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 validate(
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
) -> Result<(), Error>
fn validate( original_count: usize, recovery_count: usize, shard_bytes: usize, ) -> Result<(), Error>
Checks that the shard counts are supported, the shard size is nonzero and even, and
this decoder’s working space fits in a single allocation.
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, this 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 into the work buffers. The returned DecoderResult exposes only restored
original shards, so callers of this trait should pass false. Reconstructed recovery
shards are readable through
Decoder::decode_with_recovery and
Decoder::decode_with_recovery_plan.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.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