Skip to content

feat: NMv3: mixnode liveness sending - #7115

Open
jstuczyn wants to merge 5 commits into
feat/nmv3-per-kind-submissionfrom
feat/nmv3-agent-waves
Open

jstuczyn wants to merge 5 commits into
feat/nmv3-per-kind-submissionfrom
feat/nmv3-agent-waves

Conversation

@jstuczyn

@jstuczyn jstuczyn commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

What it does

  • Per-kind probe profile. The liveness profile is 50 packets per target at 50 packets/second (a one second send window), with a 5 second straggler wait and a 30 second per-target deadline, all CLI- and env-overridable. The kind is the only input: profile_for(kind) derives the profile, so the two cannot be set to disagree.
  • Shared mixnet ingress. One listener serves a whole wave. Each accepted connection is resolved to its target through a canonicalised source-keyed table before the handshake, then upgraded and read by a handler of its own, so one slow peer cannot delay the rest. Attribution is structural: a connectionresolves once, and its handler delivers only to that target's inbox.
  • Wave executor. MixnetWave probes every target concurrently under the per-target deadline, so a wave's duration is the slowest single target rather than the sum. Each result is submitted the moment that target finishes, releasing its in-flight lock independently.
  • Failure isolation. A node-level failure is submitted even when zeroed, because submission is what advances staleness. A critical agent-side failure submits nothing and lets the lease expire, so the node keeps its turn.
  • Stress runs through the same path as a wave of one, so both kinds share one implementation rather than drifting.

This change is Reviewable

@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs-nextra Ready Ready Preview Sep 4, 2026 3:44pm UTC
nym-explorer-v2 Ready Ready Preview Sep 4, 2026 3:44pm UTC
1 Skipped Deployment
Project Deployment Actions Updated
nym-node-status Ignored Ignored Preview Sep 4, 2026 3:44pm UTC

Request Review

@coderabbitai

coderabbitai Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: 940261bd-8e42-413f-836e-962ec3ddfcb5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch was successfully deployed

2 active deployments
Preview – docs-nextra 8d535d98 Deployed Sep 4, 2026 by vercel[bot]
Preview – nym-explorer-v2 8d535d98 Deployed Sep 4, 2026 by vercel[bot]
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