Implemented reed-solomon erasure coding (encoding and decoding) with dynamically set amount of data shards and parity shards via config

This commit is contained in:
2026-03-18 23:45:59 +01:00
parent 644314f878
commit 330bd76fb3
13 changed files with 751 additions and 21 deletions

View File

@@ -4,9 +4,9 @@
### 1. `stratum-storage` — Volume Layer
- [ ] `config.rs` — StorageConfig with hot/warm/cold paths
- [ ] `tier.rs` — StorageTier enum (Hot, Warm, Cold)
- [ ] `location.rs` — Location + ShardLocation enums (Local/Remote/Mixed)
- [ ] `volume.rs` — Volume struct with access tracking fields
- [x] `tier.rs` — StorageTier enum (Hot, Warm, Cold)
- [x] `location.rs` — Location + ShardLocation enums (Local/Remote/Mixed)
- [x] `manifest.rs` — Volume struct with access tracking fields
- [ ] `store.rs` — VolumeStore (in-memory HashMap for now)
- [ ] `shard.rs` — async read/write/delete shard files via tokio::fs
- [ ] Tests for all of the above