Skip to content

relay-hops: add hop path wire and negotiation support#329

Open
mondain wants to merge 2 commits into
mainfrom
relay-hops
Open

relay-hops: add hop path wire and negotiation support#329
mondain wants to merge 2 commits into
mainfrom
relay-hops

Conversation

@mondain

@mondain mondain commented Jul 23, 2026

Copy link
Copy Markdown

Summary

  • define the RELAY_HOPS, HOP_PATH, and EXCLUDE_HOP extension identifiers and message scopes
  • encode and validate hop paths for MOQT drafts 16, 17, and 18
  • negotiate relay-hops support independently on each session
  • extend negotiated NAMESPACE messages with parameters while preserving the legacy wire format
  • carry complete namespace parameters through publisher handles and allow specialized clients and servers to add setup options

Why

moqx needs the wire and session primitives from draft-lcurley-moq-relay-hops to propagate namespace paths, suppress returning advertisements, and safely support relay cycles.

Impact

The extension remains inactive unless both peers advertise the zero-length setup option. Sessions that do not negotiate it retain their existing namespace framing and behavior.

Validation

  • MoQTests --gtest_filter='*RelayHop*:*ExcludeHop*' - 16 passed
  • MoQSessionTests --gtest_filter='*RelayHops*:*NamespacePreservesRelayHopParameters*' - 15 passed
  • git diff --check origin/main..HEAD

The corresponding moqx relay-policy PR will pin the final commit from this branch.


This change is Reviewable

@mondain
mondain requested review from afrind and akash-a-n July 23, 2026 14:40
@mondain
mondain marked this pull request as ready for review July 23, 2026 14:41
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