router-perf@1.0 — Erlang Execution Device for Performance-Based Routing#741
Open
Lucifer0x17 wants to merge 12 commits intoneo/edgefrom
Open
router-perf@1.0 — Erlang Execution Device for Performance-Based Routing#741Lucifer0x17 wants to merge 12 commits intoneo/edgefrom
router-perf@1.0 — Erlang Execution Device for Performance-Based Routing#741Lucifer0x17 wants to merge 12 commits intoneo/edgefrom
Conversation
Arweave v2 TXIDs are SHA-256(signature), which differs from the unsigned content hash used by HyperBEAM messages. Add a fallback in is_tx_admissible that checks the commitment-based ID via hb_message:id(CommittedMsg, all, Opts) when the unsigned content hash doesn't match.
…ed routing Introduces dev_router_perf.erl, an Erlang execution device for process@1.0 that replaces dynamic-router.lua for Arweave gateway routing. Fixes gaps in the Lua version: supports match/with route format. Key functionality: - register: adds nodes to routes with http_reference for the feedback loop - duration: updates node performance via exponential weighted average (EMA) - recalculate: recomputes weights using decay-based percentile scoring - Supports both match/with and prefix Registers router-perf@1.0 in hb_opts preloaded_devices. Comments added in the file by: Claude Opus 4.6 <noreply@anthropic.com>
Add `is_admissible_hook_routed_test_` that validates the full perf-router feedback loop: gateway registration, TX fetch through routed stack, async monitor duration posts, and performance score updates via EMA.
Collaborator
|
Amazing! If it is like the original the registration process should just be either:
Congrats! Let's ship it and test a beta 🙂 |
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.
Continuation of #737
Summary
Introduces
dev_router_perf.erl, an Erlang execution device forprocess@1.0that provides performance-based routing with automatic weight adjustment. It replacesdynamic-router.luafor Arweave gateway routing, supportingmatch/withroute format — Arweave gateways usematch/withinstead ofprefix/price/topupHow It Works
The device runs as a
process@1.0node process. The feedback loop:Actions
registermatch/withandprefixformats. Setshttp_referencefor the feedback loop.durationhttp_reference.recalculateregister.Configuration
Set these on the node process definition:
performance-periodinitial-performancesampling-rateperformance-weightpricing-weightscore-preferenceProduction Setup
1. Node configuration:
2. Register gateways (once, at startup or via admin script):
3. Verify: