feat(net)!: add cold route rank for pop skipping - #2894
Draft
kixelated wants to merge 1 commit into
Draft
Conversation
Co-Authored-By: GPT-5 <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
(cold cost, relay hash)rank is strictly lower, and compare warm rank before hop count when marginal costs tiejs/netand specify it in the moq-lite draftThis replaces the viable remaining rank slice from #2179. The old base/transit-cost prototype was superseded by cumulative Route Cost in #2424 and is now far behind
dev. The current design comes from the pop-skipping quest.Marginal warm discounts intentionally collapse to zero, but that erases the upstream path cost needed to select an aggregation root in asymmetric and simultaneous activation topologies. Cold Route Cost preserves that undiscounted path signal without changing marginal cost as the primary routing metric.
Public API changes
lite::AnnounceBroadcast::ActiveandRestartadd the requiredcold: RouteCostfield. This is why the PR targetsdev.AnnounceBroadcastvariants add optionalcold?: bigint.pub(crate); no second publicbroadcast::Routemetric is exposed.Test plan
nix develop --command just fixnix develop --command just checknix develop --command cargo test -p moq-net(864 unit tests plus integration and docs)nix develop --command bun test js/net/src/lite/announce.test.tsnix develop --command just test smoke-full(21 Rust/Python/JS/C/GStreamer combinations)Cross-package sync: updated
js/netanddrafts/draft-lcurley-moq-lite.md. There is no existingdoc/conceptroute-selection page to update. The IETF cluster wire is intentionally unchanged because the current quest rollout is Lite06-only.(Written by GPT-5)