refactor: extract local control routing

This commit is contained in:
Eric Wendland 2026-07-05 23:28:46 +02:00
commit f88bc851a4
4 changed files with 501 additions and 494 deletions

View file

@ -9,8 +9,10 @@ requests.
Within `geth-node`, daemon lifecycle code is separated from feature handlers:
`daemon.rs` owns `geth daemon run` startup, local socket binding, shutdown
signal handling, Iroh endpoint startup, the Iroh accept loop, and background
live-sync task spawning. Runtime registries for pubsub, pipes, and overlays live
behind narrow mutex-protected structs in `runtime.rs`. Local control and
live-sync task spawning. `local_control.rs` owns async local `ControlRequest`
routing and safe trace-field classification before delegating to feature
handlers. Runtime registries for pubsub, pipes, and overlays live behind narrow
mutex-protected structs in `runtime.rs`. Command-family handler modules and
protected peer-control feature dispatch remain separate refactor targets.
The local metadata store is SQLite product state. `geth-store` tracks a numeric

View file

@ -45,12 +45,12 @@ behavior.
ownership and locking rules.
- `[x]` Existing daemon startup and status tests pass unchanged.
- `[ ]` Extract local control routing.
- `[~]` Extract local control routing.
Acceptance criteria:
- `[ ]` Local `ControlRequest` dispatch is a routing layer, not the home of
- `[x]` Local `ControlRequest` dispatch is a routing layer, not the home of
every feature implementation.
- `[ ]` Each command family has a small handler module or function group.
- `[ ]` Local-only behavior remains covered by existing integration tests.
- `[x]` Local-only behavior remains covered by existing integration tests.
- `[ ]` Extract protected peer-control routing.
Acceptance criteria: