Skip to main content

Crate rustfs_erasure_codec

Crate rustfs_erasure_codec 

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.

Modules§

galois_8
Implementation of GF(2^8): the finite field with 2^8 elements.
galois_16
GF(2^16) implementation.
stream
Streaming encode/verify/reconstruct for large data.

Macros§

convert_2D_slices
Makes it easier to work with 2D slices, arrays, etc.
shards
Constructs vector of shards.

Structs§

CodecOptions
Configuration options for constructing a ReedSolomon codec.
LeopardGf8ProfileStats
ParallelDecision
ParallelPolicy
ReconstructionCacheAnalysis
ReconstructionCacheStats
ReedSolomon
RuntimeProfileStats
ShardByShard
Bookkeeper for shard by shard encoding.
ShardSlot
A reusable shard container for reconstruction workflows.
VerifyWorkspace
Reusable parity scratch space for repeated verify calls.

Enums§

CodecFamily
Selects the codec algorithm family for encoding and reconstruction.
Error
MatrixMode
Selects the encoding matrix construction strategy for CodecFamily::Classic.
SBSError

Constants§

PARALLEL_POLICY_VERSION

Traits§

Field
A finite field to perform encoding over.
ReconstructShard
Something which might hold a shard.

Functions§

leopard_gf8_profile_stats
reset_leopard_gf8_profile_stats

Type Aliases§

ReconstructInitResult