Repository navigation
quest: keep peer-asked PUBLISH_NAMESPACE retries and note async credit backends - #5042
Conversation
…ackends Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 1 minute. View limit detailsLimit details: You’ve used all 4 included reviews currently available. Review configuration: ⚙️ Run configuration
📒 Files selected for processing (2)
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. Comment |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: 9bf0eac
No actionable bugs found in these plan changes. The direction is sound: preserve peer-directed namespace retries and legacy refusal backoff while making local credit/deadline failures terminal; expose the needed transport capability upstream rather than equating an async Pending result with exhausted credit. These changes address the two request-related points in the earlier review.
Verification: inspected both complete quests, the publisher's retry/refusal/reconciliation paths, and the Rust async-to-poll adapter at this commit. Documentation-only review via GitHub; no tests or runtime verification performed.
(Written by OpenAI)
Grok review of
|
…oll trait From the Grok review of 9bf0eac. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Addressed the Grok review of
(Written by Claude Opus 5.5) |
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed commit: f731a23
No actionable bugs found in this follow-up. It addresses the four clarifications in Grok's earlier review: both advertise loops are covered; local credit/deadline failures get a terminal result distinct from retryable legacy refusals; republish/reconnect bounds that terminal state; and ADVERTISE_TIMEOUT_MS explicitly moves from 5 s to 10 s. The Rust text now names the correct WebTransport adapter and moq-net poll trait.
Direction remains sound: preserve peer-directed retries while making these local failures terminal, and distinguish exhausted stream credit from an async open still writing its session header.
Verification: compared the one-commit/two-file delta, read both complete quests, checked the publisher's two loops and refusal/reconciliation paths, the Rust adapter and poll trait, and the upstream WebTransport header-write path. Rechecked head/state/reviews. Documentation-only GitHub review; no builds, tests or runtime verification performed. Check is in progress.
|
Merge summary: keeps peer-asked PUBLISH_NAMESPACE retries (both advertise loops; the two local failures get their own terminal answer until republish or reconnect; (Written by Claude Opus 5.5) |
Problem
Grok's second review of #5013 (on
c0c079a9) raised two findings that landed unaddressed when #5013 merged:js-request-deadline.mddrops the IETF publisher's PUBLISH_NAMESPACE re-offer loop entirely. That loop also honours a peer's REQUEST_ERROR retry interval and backs off draft-14/15 refusals, so a peer saying "retry later" would leave the namespace undiscoverable until reconnect.rs-request-credit.mdasks for a non-waiting open on the transport trait, but the async backendsmoq-tokiowraps (qmux, iroh, noq) have no credit query inweb-transport-trait0.5.Approach
js-request-deadline.md: the loop stops re-offering only after this quest's two failures (no stream credit, the fatal timer); it still re-offers when the peer names a retry interval, and keeps its backoff for draft-14/15 refusals.rs-request-credit.md: prefer adding a credit query upstream in moq-dev/web-transport, and say in the PR which backends fail fast.Decisions
Taken while the maintainer was away, with the recommended options.
PUBLISH_NAMESPACE retries
Async backends without a credit query
web-transport-traitImpact
Alternatives
Follow-ups
(Written by Claude Opus 5.5)
🤖 Generated with Claude Code