Enable psrpc claim-skip on queue rpcs behind config - #469
Merged
Conversation
psrpc v0.7.5 lets a server answer an advertised queue rpc with an announcement instead of the claim round trip. Add psrpc_skip_claim (default off) and pass psrpc.WithServerSkipClaim to the three IngressHandler server constructions, whose UpdateIngress / DeleteIngress / DeleteWHIPResource / ICERestartWHIPResource methods are claim+queue. IngressInternal has no claim+queue methods, so it is left as is. The bump alone also makes ingress's psrpc clients advertise skip support, so per-session IOInfo calls (GetIngressInfo, UpdateIngressState) skip the claim once the IO server enables it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
paulwe
approved these changes
Aug 24, 2026
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.
What
psrpc v0.7.5 lets a server answer an advertised queue rpc with an announcement instead of the claim round trip, removing one bus round trip per call. Clients on v0.7.5+ advertise support automatically; the server elects per request via
psrpc.WithServerSkipClaim(func() bool).This PR:
psrpcv0.7.4 → v0.7.5psrpc_skip_claim(bool, default off) toServiceConfig, read once at startup — ingress has no live config reload, so flipping it requires a restartpsrpc.WithServerSkipClaimto theIngressHandlerserver constructionsServer coverage
pkg/service/process_manager.gopkg/whip/whip_handler.gopkg/whip/whip_proxy_handler.gopkg/service/service.goClient side
The bump alone makes ingress's psrpc clients advertise skip support, so the per-session IOInfo calls (
GetIngressInfo,UpdateIngressState) skip the claim once the IO server enables it — no config needed here for that.Dependency note
livekit/protocol#1729 added a process-wide
rpc.SetPSRPCServerSkipClaimgate, but it only reaches servers built with the protocol's server-option helpers, which ingress doesn't use — and bumping protocol past v1.50.4 currently breaks the build againstserver-sdk-gov2.18.1 (TransferSIPParticipantsignature change). So this PR stays on protocol v1.50.4 and passespsrpc.WithServerSkipClaimdirectly at the construction sites, which is equivalent.Verified
go build ./...clean (macOS, GStreamer 1.28 via Homebrew)go test -raceon all non-integration packages: pass//go:build integration) deferred to CI🤖 Generated with Claude Code