Test Details Overview

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 Results

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 - -