Expand description
S4 圧縮 codec layer。バックエンドを差し替え可能にする中立 trait を提供する。
§採用 backend (2026-05 検討)
- nvCOMP (NVIDIA proprietary、要 license 確認): Bitcomp / gANS / zstd-GPU
- DietGPU (Meta, MIT): ANS-only、license clean な fallback
- CPU zstd: GPU 無し環境向け究極の fallback / test bed
Re-exports§
pub use registry::CodecRegistry;pub use dispatcher::CodecDispatcher;
Modules§
- cpu_
gzip - RFC 1952 gzip codec via
flate2(v0.4 #26). - cpu_
zstd - CPU zstd backend — GPU 非搭載環境向け究極の fallback、および test bed。
- dietgpu
- DietGPU (Meta, MIT) backend ラッパー — nvCOMP ライセンス障害時の OSS fallback。
- dispatcher
- PUT 時にどの codec で圧縮するかを選ぶ dispatcher。
- index
- Frame index — Range GET の partial fetch を可能にするための sidecar object 形式。
- multipart
- Multipart upload で使う on-the-wire フレーム形式。
- nvcomp
- nvCOMP (NVIDIA proprietary) backend ラッパー。
- passthrough
- 無圧縮 codec — テストおよび圧縮無効化フラグ用。
- registry
- 複数 Codec を保持し、
CodecKindベースで dispatch するレジストリ。
Structs§
- Chunk
Manifest - 圧縮済 chunk のメタ情報。S3 オブジェクトの metadata に格納される。
- Parse
Codec Kind Error
Enums§
- Codec
Error - codec 操作のエラー型。
anyhow::Errorではなく専用型にすることで、上位 (S4Service) が HTTP エラーコードを意味的に出し分けやすくする。 - Codec
Kind - 圧縮 codec の種類 (manifest に記録、後段の decompress で codec を確定するために使う)
Traits§
- Codec
- pluggable な圧縮 backend trait。