Return outbound actions from election tick instead of performing them Election tick took the confirmation solicitor and interleaved deciding, sending and recording: winner blocks were sent over channels while holding the per-election mutex, and vote generation was buried in private methods. Tick now advances the state machine and returns election_actions: an optional vote broadcast decision, an optional winner broadcast snapshot, an optional solicit snapshot and a cleanup flag. The active elections loop dispatches them to vote_generator, confirmation_solicitor and block_rebroadcaster after the election lock is released, and reports successful sends back via request_sent and broadcast_sent so pacing still only advances on success. Election insertion uses the same decide_vote path, with the send issued by active_elections, preserving the synchronous first vote that self-voting setups without a request loop rely on. Election no longer references the solicitor and the remaining component friendship is removed.
__________
Type: commit
Hash: ffe3310045d4ce13e27bc10e3859574a2e813b26
Created: yesterday
__________
gr0v1ty/nano-node:ffe3310045d4ce13e27bc10e3859574a2e813b26
| Test Case | Status | Duration | Median Deviation | Log | Graph |
|---|---|---|---|---|---|
| 5n4pr_conf_10k_bintree | PASS | 117 s | 2.5 s | - | Show |
| 5n4pr_conf_10k_change | PASS | 147 s | -5.0 s | - | Show |
| 5n4pr_conf_change_dependant | PASS | 113 s | -2.0 s | - | - |
| 5n4pr_conf_change_independant | PASS | 113 s | -2.0 s | - | - |
| 5n4pr_conf_send_dependant | PASS | 119 s | 2.0 s | - | - |
| 5n4pr_conf_send_independant | PASS | 112 s | -2.0 s | - | - |
| 5n4pr_rocks_10k_bintree | PASS | 155 s | 32.0 s | - | - |
| 5n4pr_rocks_10k_change | PASS | 203 s | 37.0 s | - | - |