Crate solana_reed_solomon_erasure

Source
Expand description

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§

ReedSolomon
Reed-Solomon erasure code encoder/decoder.
ShardByShard
Bookkeeper for shard by shard encoding.

Enums§

Error
ParallelParam
Parameters for parallelism.
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 slice 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 slice of shards to vector of option shards.

Type Aliases§

Shard
Convenience data type provided by this library.