Skip to content

[codex] Add namespace compression drafts#44

Merged
kixelated merged 1 commit into
mainfrom
codex/namespace-deflate
Jun 26, 2026
Merged

[codex] Add namespace compression drafts#44
kixelated merged 1 commit into
mainfrom
codex/namespace-deflate

Conversation

@kixelated

@kixelated kixelated commented Jun 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Make moq-lite ANNOUNCE_BROADCAST payloads mandatory DEFLATE-compressed bytes, leaving only Message Length uncompressed for framing.
  • Add a new MoQ Transport Namespace Compression extension draft for compressing Track Namespace Suffix fields in NAMESPACE and NAMESPACE_DONE responses.
  • Define NAMESPACE_COMPRESSION setup negotiation with 0 = deflate; when both peers negotiate the same algorithm, compression is mandatory for namespace responses on the session.
  • Define retained per-stream DEFLATE contexts with Z_SYNC_FLUSH per message, stripping and restoring the fixed 00 00 ff ff sync-flush marker to match moq-flate/RFC 7692 style framing.

Impact

This reduces repeated namespace/path overhead for large announcement streams while keeping each namespace change as its own protocol message. The MoQ Transport extension is field-level, so future NAMESPACE/NAMESPACE_DONE fields keep their normal encoding.

Validation

  • make draft-lcurley-moq-namespace-compression.txt
  • make draft-lcurley-moq-lite.txt
  • git diff --check HEAD~1..HEAD

@kixelated kixelated marked this pull request as ready for review June 26, 2026 19:43
@kixelated kixelated force-pushed the codex/namespace-deflate branch from 4835beb to f12fd79 Compare June 26, 2026 19:46
@coderabbitai

coderabbitai Bot commented Jun 26, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

One draft adds Announce Deflate negotiation and Announce Encoding handling for ANNOUNCE_BROADCAST path suffixes, including compressed suffix encoding rules. A second draft defines MoQ Namespace Deflate Extension, covering SETUP negotiation, SUBSCRIBE_NAMESPACE parameters, compressed Track Namespace Suffix handling for NAMESPACE and NAMESPACE_DONE, security considerations, and IANA registrations.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title is concise and clearly refers to the added namespace compression drafts.
Description check ✅ Passed The description matches the PR’s focus on MoQ DEFLATE compression for ANNOUNCE_BROADCAST and namespace response fields.
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch codex/namespace-deflate

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@kixelated kixelated force-pushed the codex/namespace-deflate branch from f12fd79 to 723b842 Compare June 26, 2026 19:50
@kixelated kixelated changed the title [codex] Add namespace deflate drafts [codex] Add namespace compression drafts Jun 26, 2026
@kixelated kixelated force-pushed the codex/namespace-deflate branch from 723b842 to 0e2ad5c Compare June 26, 2026 19:55
@kixelated kixelated merged commit 23b75c4 into main Jun 26, 2026
2 checks passed
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.

1 participant