Crate reed_solomon_erasure [] [src]

This crate provides an encoder/decoder for Reed-Solomon erasure code.

Please note that erasure coding means errors are not directly detected or corrected, but missing data pieces(shards) can be reconstructed given that the configuration provides high enough redundancy.

You will have to implement error detection separately(e.g. via checksums) and simply leave out the corrupted shards when attempting to reconstruct the missing data.

Macros

convert_2D_slices

Makes it easier to work with 2D slices, arrays, etc.

shard

Constructs a shard.

shards

Constructs vector of shards.

Structs

ParallelParam

Parameters for parallelism.

ReedSolomon

Reed-Solomon erasure code encoder/decoder.

ShardByShard

Bookkeeper for shard by shard encoding.

Enums

Error
SBSError

Functions

make_blank_shard

Makes shard with byte array filled with zeros of some length.

make_blank_shards
make_zero_len_shard

Makes shard with byte array of zero length.

make_zero_len_shards
option_shards_into_shards

Transforms vector of option shards into vector of shards.

option_shards_to_shards

Transforms a section of vector of option shards to vector of shards.

shards_into_option_shards

Transforms vector of shards into vector of option shards.

shards_to_option_shards

Transforms vector of shards to vector of option shards.

Type Definitions

Shard

Convenience data type provided by this library.