Skip to content

Add basic rateless codec support#102

Open
joe-calderon-ditto wants to merge 1 commit into
USNavalResearchLaboratory:masterfrom
joe-calderon-ditto:rateless
Open

Add basic rateless codec support#102
joe-calderon-ditto wants to merge 1 commit into
USNavalResearchLaboratory:masterfrom
joe-calderon-ditto:rateless

Conversation

@joe-calderon-ditto

@joe-calderon-ditto joe-calderon-ditto commented Jun 18, 2026

Copy link
Copy Markdown

Hello,

This PR adds basic support for a rateless codec, working toward the RaptorQ / non-systematic codec support discussed in #7.

What's included

  • A new rateless codec path through the encoder/segment layers, with the necessary message and session plumbing to carry it. A new underspecified scheme was added because I was unsure if rateless feel under the umbrella of small block codes, and I didn't know if using 6 would conflate general rateless codes to RaptorQ.
  • API additions in normApi.h / normApi.cpp to enable and configure it.
  • An examples/normRatelessTest.cpp example demonstrating the feature.

Notes

  • This is an initial, "basic" implementation intended as a starting point rather than a complete solution — feedback on the approach would be appreciated.
  • I'd be happy to adjust naming, API shape, or integration points to better match how you'd like rateless/non-systematic codecs to be handled in NORM.
  • I added NormTelemetry so rateless encoders could implement their own rate control for both proactive and reactive parity using metrics provided by norm.

If the interface looks ok, I can follow this pr with an actual implementation of a rateless codec.

@joe-calderon-ditto joe-calderon-ditto marked this pull request as ready for review June 18, 2026 21:29
@joe-calderon-ditto joe-calderon-ditto changed the title Add basic rateless (RaptorQ) codec support Add basic rateless codec support Jun 18, 2026
@bebopagogo

bebopagogo commented Jul 2, 2026 via email

Copy link
Copy Markdown
Collaborator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants