Fountain Library Project
Rust crates for fountain codes: engine, schemes (LT and Raptor-style), utilities, optional high-performance operators, RFC Raptor implementations, and rateless UDP file transfer. Live site
The fountain library project is a collection of Rust crates for building and analyzing fountain codes. It provides a reusable engine for encoding and decoding, configurable schemes (LT and Raptor-style codes), and utilities for testing and benchmarking.
Getting Started
- Add
fountain_engineplus one scheme crate (for examplefountain_scheme,fountain_raptor_q, orfountain_raptor_10) to yourCargo.toml. - Try
fountain_transferfor rateless UDP file transfer. - Read doc-engine.pdf for engine and operator concepts, or doc-scheme.pdf for building custom schemes.
Published Crates
Core
Utility
Operators
-
fountain_operators — Experimental. High-performance
DataOperatorbackends (SlabDataOperator,SimdDataOperator, GF(256) kernels, replay/testing). API may change. Requiresfountain_engine1.3+.
GitHub · README
Schemes
-
fountain_scheme — Configurable schemes (LT, LDPC-LT, HDPC-LT, systematic) on
fountain_engine
Crates.io · GitHub -
fountain_raptor_q — RFC 6330 RaptorQ scheme on
fountain_engine
Crates.io · GitHub -
fountain_raptor_10 — RFC 5053 Raptor-10 scheme on
fountain_engine
Crates.io · GitHub
Transfer
More
Additional tooling (profiling, multicast transport, etc.) may appear as the ecosystem evolves.
Project Documentation
PDF guides for the engine and scheme-building workflow. Raptor scheme crates also publish API docs on docs.rs (links above).
- Fountain engine and utility usage (PDF)
- Fountain code scheme building introduction and examples (PDF)
Contributors
- Shenghao Yang
- Zigeng Xu