Skip to content

shhyang/fountain_docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fountain Library Project (docs site)

Maintainer notes for the Fountain library project static site. The public landing page is index.html (mirrors the content visitors see on GitHub Pages).

Rust crates for fountain codes: a reusable engine, schemes (LT and Raptor-style), utilities for testing and benchmarking, optional high-performance operators, and rateless UDP file transfer (fountain_transfer).

Live site: https://shhyang.github.io/fountain_docs/

Getting started (same as the front page)

  1. Add fountain_engine plus one scheme crate (fountain_scheme, fountain_raptor_q, or fountain_raptor_10) to your Cargo.toml.
  2. Optional: add experimental fountain_operators from GitHub (requires fountain_engine 1.3+).
  3. Try fountain_transfer for rateless UDP file transfer (quick start).
  4. Read docs/doc-engine.pdf and docs/doc-scheme.pdf (paths match index.html).

Published crates (same as the front page)

Crate Role docs.rs Crates.io GitHub
fountain_engine Core fountain code engine docs.rs crates.io shhyang/fountain_engine
fountain_utility In-memory operators, padding wrappers, testing utilities docs.rs crates.io shhyang/fountain_utility
fountain_scheme Configurable schemes (LT, LDPC-LT, HDPC-LT, systematic) on fountain_engine docs.rs crates.io shhyang/fountain_scheme
fountain_raptor_q RFC 6330 RaptorQ scheme crate docs.rs crates.io wutongabc/fountain_raptor_q
fountain_raptor_10 RFC 5053 Raptor-10 scheme crate docs.rs crates.io wutongabc/fountain_raptor_10

GitHub-only crates

Crate Role Distribution GitHub
fountain_operators Experimental. High-performance DataOperator backends (SlabDataOperator, SimdDataOperator, GF(256) kernels, replay/testing). API may change. Requires fountain_engine 1.3+. Git dependency (not on Crates.io) shhyang/fountain_operators
fountain_transfer Rateless UDP file transfer: fountain_transfer_core library (dual-codec facade, RFC packet codec) + fountain CLI (send / recv). MIT; links AGPL fountain_engine in-process. GitHub workspace (not on Crates.io yet) shhyang/fountain_transfer

Example dependency (from the operators README):

fountain_engine = "1.3"
fountain_operators = { git = "https://github.com/shhyang/fountain_operators", features = ["simd"] }

Raptor performance examples (raptor_q_performance, raptor_10_performance) use fountain_operators as an optional dev-dependency with the same Git URL. See the operators README for run commands.

Clone fountain_transfer for loopback UDP transfer (fountain send / fountain recv); see its README quick start.

Project documentation (PDFs)

Paths match index.html:

  • docs/doc-engine.pdf — Fountain engine and utility usage
  • docs/doc-scheme.pdf — Fountain code scheme introduction

Operator guide source in the monorepo: docs/doc-operators.org (PDF not yet synced to this site).

Updating the PDFs (from the monorepo)

The PDFs are generated from Org sources in the main library repository. From that repo’s root, run scripts/sync_fountain_docs_pdfs.sh (see that script for prerequisites). It exports the Org files to PDF, copies them into docs/ here, and creates a commit in this repository.

When adding a new crate to the landing page, edit index.html and this README.md, then commit in publish/fountain_docs (no PDF rebuild required).

GitHub Pages

  1. In this repo: Settings → Pages.
  2. Source: Deploy from a branch.
  3. Branch: main (or master) → / (root).
  4. Save.

No build step: static HTML (index.html), CSS (style.css), and PDFs under docs/.

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors