Package-level declarations
Types
A test double for RaftNode with driver helpers for driving role transitions, injecting committed entries, emitting trace events, and inspecting outgoing proposals.
An in-process RaftTransport network backed by Channels — the published equivalent of the :kuilt-raft private test network. Obtain a per-node transport via transport; control network partitions via partition, dropLink, and heal.
Multi-node Raft simulation harness for use in tests. See the file-level KDoc for the full determinism contract and setup ceremony.
Properties
Fast timing config for MultiNodeRaftSim tests — elections fire in single-digit virtual ms, so a 3-node leader election completes in ≤ 20 ms of virtual time.
Stable seed for per-node Random derivation in MultiNodeRaftSim. Different from :kuilt-raft's internal test seed (383) so harness tests explore different election orderings independently.
Wall-clock backstop for raftSimTest — the budget for a genuine wedge, not a performance assertion.
Functions
Run body, emitting a MultiNodeRaftSim.dumpState snapshot of sim to emit if body is cancelled, then rethrowing the CancellationException untouched.
Build a MultiNodeRaftSim of n voters and run body under runTest(StandardTestDispatcher(), timeout = RAFT_SIM_WEDGE_BACKSTOP), wrapped in dumpOnWedge — the canonical harness for multi-node Raft tests. See MultiNodeRaftSim for the full determinism contract.