Remove the IO contexts nothing runs on anymore (#5176) * Remove the daemon IO context left without users The node runs its own IO context, and with rpc_host the in-process RPC server now runs on its own too, so the one the daemon set up was serving nobody while still starting a thread per configured IO thread. Drop it, along with the stale claim that its runner had to outlive node start and stop. The wallet kept the same pair for the same reasons, and the benchmarks kept the includes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Stop test nodes directly Stopping a node used to be deferred to a separate thread so the test thread could keep pumping the shared IO context, without which the node would never finish stopping. Nodes now run their own IO threads, so the test thread can simply wait for stop() to return. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Drop test IO runners that no longer drive anything These runners spawned threads for the test system IO context back when nodes ran on it. Nothing posts node work there anymore, and since rpc_host brought its own IO threads the runner in the bootstrap slow test has no RPC server to serve either, so the threads just idled. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> * Start the node IO threads once the node is fully constructed The IO runner sat right after the ledger in the member list, so its threads were already running while the rest of the node was still being built, and on teardown it was destroyed in the middle of the components that post work to it. Move it to the end of the member list, where construction and destruction bracket every component that uses it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
__________
Type: commit
Hash: e91bd2c3116c2daaf1ba1bd45c82adadc46e3957
Created: today
__________
gr0v1ty/nano-node:e91bd2c3116c2daaf1ba1bd45c82adadc46e3957
| Test Case | Status | Duration | Median Deviation | Log | Graph |
|---|---|---|---|---|---|
| 5n4pr_conf_10k_bintree | PASS | 127 s | 12.0 s | - | Show |
| 5n4pr_conf_10k_change | PASS | 125 s | -15.5 s | - | Show |
| 5n4pr_conf_change_dependant | PASS | 114 s | -2.0 s | - | - |
| 5n4pr_conf_change_independant | PASS | 116 s | 0.0 s | - | - |
| 5n4pr_conf_send_dependant | PASS | 132 s | 18.0 s | - | - |
| 5n4pr_conf_send_independant | PASS | 109 s | -9.5 s | - | - |
| 5n4pr_rocks_10k_bintree | PASS | 119 s | 3.0 s | - | - |
| 5n4pr_rocks_10k_change | PASS | 169 s | 6.5 s | - | - |