pub trait RateDecoder<E: Engine>where
Self: Sized,{
type Rate: Rate<E>;
// Required methods
fn add_original_shard<T: AsRef<[u8]>>(
&mut self,
index: usize,
original_shard: T,
) -> Result<(), Error>;
fn add_recovery_shard<T: AsRef<[u8]>>(
&mut self,
index: usize,
recovery_shard: T,
) -> Result<(), Error>;
fn decode(&mut self) -> Result<DecoderResult<'_>, Error>;
fn into_parts(self) -> (E, DecoderWork);
fn new(
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
engine: E,
work: Option<DecoderWork>,
) -> Result<Self, Error>;
fn reset(
&mut self,
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
) -> Result<(), Error>;
// Provided methods
fn supports(original_count: usize, recovery_count: usize) -> bool { ... }
fn validate(
original_count: usize,
recovery_count: usize,
shard_bytes: usize,
) -> Result<(), Error> { ... }
}
Expand description
Reed-Solomon decoder using specific rate.
Required Associated Types§
Required Methods§
Sourcefn 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>
Sourcefn 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>
Sourcefn decode(&mut self) -> Result<DecoderResult<'_>, Error>
fn decode(&mut self) -> Result<DecoderResult<'_>, Error>
Sourcefn 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.
Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.