Skip to content

feat(ipc): add memoized pattern subscriptions - #19

Merged
rrrodzilla merged 1 commit into
mainfrom
feat/pattern-subscriptions
Sep 19, 2026
Merged

rrrodzilla merged 1 commit into
mainfrom
feat/pattern-subscriptions

Conversation

@rrrodzilla

@rrrodzilla rrrodzilla commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

IPC clients can now subscribe to families of registered broadcast names, such as Order*, without listing each type. The new pattern APIs preserve literal exact subscriptions and deliver once per connection when selectors overlap.

Routing memoizes deduplicated recipient sets in a bounded cache. Subscription mutations invalidate the cache under the same state lock used by forwarding, including unsubscribe, disconnect, and connection replacement. Pattern requests validate atomically and respect the existing request rate limiter. Pattern-only clients use subscriber idle timeouts.

This prepares workspace release 9.3.0 with additive request/response types and v2 frame tags. Older servers close connections receiving the new tags, so clients must upgrade their server before using pattern methods. Documentation covers syntax, limits, unsubscribe behavior, and best-effort delivery.

Validation:

  • 30 subscription manager tests and five IPC integration tests, including JSON, MessagePack, actual broker forwarding, and types registered after subscription.
  • Full workspace clippy with all targets and features: zero warnings.
  • cargo-semver-checks against 9.2.1: 196 applicable checks passed.
  • Full workspace nextest: 667 passed with all features; 466 passed without default features. Seven doctests passed.
  • Full workspace clippy without default features: zero warnings. Changed Rust files pass rustfmt.
  • Production documentation build and all 2,134 links passed. Linux and Windows CI must pass before publishing.

Add explicit prefix subscription APIs and v2 frames while preserving exact-name semantics. Cache deduplicated routes with atomic mutation invalidation, bounded selectors, and per-connection lifecycle handling. Prepare the compatible 9.3.0 workspace release.
@rrrodzilla
rrrodzilla merged commit 6648666 into main Sep 19, 2026
2 checks passed
@rrrodzilla
rrrodzilla deleted the feat/pattern-subscriptions branch September 19, 2026 21:17

This branch was successfully deployed

1 active deployment
github-pages — 6648666f Deployed Sep 19, 2026 by rrrodzilla via deploy #18
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