[][src]Crate solana_reed_solomon_erasure

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.

Modules

galois_8

Implementation of GF(2^8): the finite field with 2^8 elements.

galois_16

GF(2^16) implementation.

Macros

convert_2D_slices

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

shards

Constructs vector of shards.

Structs

ReedSolomon

Reed-Solomon erasure code encoder/decoder.

ShardByShard

Bookkeeper for shard by shard encoding.

Enums

Error
SBSError

Traits

Field

A finite field to perform encoding over.

ReconstructShard

Something which might hold a shard.