pub struct HighRateDecoder<E: Engine> { /* private fields */ }Expand description
Reed-Solomon decoder using only high rate.
Trait Implementations§
Source§impl<E: Engine> RateDecoder<E> for HighRateDecoder<E>
impl<E: Engine> RateDecoder<E> for HighRateDecoder<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 HighRateDecoder<E>where
E: Freeze,
impl<E> RefUnwindSafe for HighRateDecoder<E>where
E: RefUnwindSafe,
impl<E> Send for HighRateDecoder<E>where
E: Send,
impl<E> Sync for HighRateDecoder<E>where
E: Sync,
impl<E> Unpin for HighRateDecoder<E>where
E: Unpin,
impl<E> UnsafeUnpin for HighRateDecoder<E>where
E: UnsafeUnpin,
impl<E> UnwindSafe for HighRateDecoder<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