Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
79703e3 to
be7156e
Compare
be7156e to
efd9c87
Compare
This is the piece that makes a gateway liveness assignment actually get executed.
What a gateway run is
One indivisible run over one client session, measuring two independent interfaces in opposite directions:
client ingest agent --ws--> GW --forwarded verbatim--> agent's mixnet listener
client delivery agent --noise--> GW --final hop unwrapped--> that same session
Both legs are one-hop sphinx routes, because there the tested node and the packet's last hop are the same machine. Neither phase may abort the other, and the score denominator is fixed at two measurements, so a phase that produced nothing is submitted as a zero rather than omitted.
The new wire
mixnet/client_session/sits besidemixnet/sphinx/rather than under the Noise files, because it is a second wire carrying the same packet format: no Noise handshake, no static keys, authentication by the gateway's own registration handshake.It is a purpose-built minimal client rather than
nym-gateway-clientsince a lot of the logic from there didn't apply (like bandwidth claiming, routing packets by size, etc.Three things the session does differently from that client, each forced by the measurement:
Errthat ends the reader - a phase failure must not abort the runAdditional manual CLI commands
test-nodeis renamed and joined by two siblings, named for the (kind, role) pairs the orchestrator hands out:test-mixnode-stress(wastest-node)test-mixnode-livenesstest-gateway-livenessAll three now name the target by its HTTP api alone and read its identity, noise key, sphinx key, key rotation, mix port, announced addresses and client websocket port off the node itself, following the orchestrator's get_node_details_inner`. Six env vars for keys and ports are gone. Host-information signatures are verified, so a stale key fails immediately instead of as a run that scores zero.
This change is