pub struct SegmentCode { /* private fields */ }Expand description
A systematic Cauchy-RS outer code over whole blocks: d data blocks
plus r_outer parity blocks per segment.
Implementations§
Source§impl SegmentCode
impl SegmentCode
Sourcepub fn new(d: usize, r_outer: usize) -> Result<Self, FecError>
pub fn new(d: usize, r_outer: usize) -> Result<Self, FecError>
Build a (d, r_outer) segment code. d >= 1, r_outer >= 1,
d + r_outer <= 256.
Sourcepub fn encode(
&self,
data_blocks: &[&[u8]],
parity_blocks: &mut [&mut [u8]],
) -> Result<(), FecError>
pub fn encode( &self, data_blocks: &[&[u8]], parity_blocks: &mut [&mut [u8]], ) -> Result<(), FecError>
Compute the r_outer outer-parity block payloads from the d
data-block payloads. Every block payload (data and parity) must be
the same length (k * shard_len).
Sourcepub fn decode(&self, blocks: &mut [Option<Vec<u8>>]) -> Result<(), FecError>
pub fn decode(&self, blocks: &mut [Option<Vec<u8>>]) -> Result<(), FecError>
Recover missing data-block payloads in place. blocks has
d + r_outer entries (data blocks first, then outer parity);
Some = present (inner-recovered), None = whole block lost. On
success every data slot 0..d is Some. Returns TooFewShards
if fewer than d blocks survived (ARQ must cover the rest).
Trait Implementations§
Source§impl Clone for SegmentCode
impl Clone for SegmentCode
Source§fn clone(&self) -> SegmentCode
fn clone(&self) -> SegmentCode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SegmentCode
impl RefUnwindSafe for SegmentCode
impl Send for SegmentCode
impl Sync for SegmentCode
impl Unpin for SegmentCode
impl UnsafeUnpin for SegmentCode
impl UnwindSafe for SegmentCode
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