Skip to main content

Crate s4_codec

Crate s4_codec 

Source
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§

ChunkManifest
圧縮済 chunk のメタ情報。S3 オブジェクトの metadata に格納される。
ParseCodecKindError

Enums§

CodecError
codec 操作のエラー型。anyhow::Error ではなく専用型にすることで、上位 (S4Service) が HTTP エラーコードを意味的に出し分けやすくする。
CodecKind
圧縮 codec の種類 (manifest に記録、後段の decompress で codec を確定するために使う)

Traits§

Codec
pluggable な圧縮 backend trait。