mirror of
https://github.com/jmcorgan/fips.git
synced 2026-07-30 19:46:15 +00:00
Update design docs for heartbeat, auto-reconnect, handshake retry, and sim improvements
fips-link-layer.md: - Rewrite Liveness Detection: explicit Heartbeat (0x51) with 10s interval and 30s dead timeout replaces vague gossip-as-heartbeat description - Add Auto-Reconnect section: MMP dead timeout triggers retry with unlimited backoff for auto_reconnect peers - Add Handshake Message Retry section: link + session layer resend with exponential backoff within timeout window - Add Heartbeat to Link Message Types table - Update Implementation Status with three new implemented features fips-configuration.md: - Add handshake_resend_interval_ms, handshake_resend_backoff, handshake_max_resends to rate_limit table - Add heartbeat_interval_secs, link_dead_timeout_secs to general table - Add peers[].auto_reconnect to peers table - Note auto-reconnect bypasses max_retries in retry section - Update complete reference YAML with all new parameters fips-wire-formats.md: - Rename 0x51 from reserved Keepalive to implemented Heartbeat - Update Disconnect reason 0x07 to Heartbeat liveness timeout testing/chaos/README.md: - Add runner.log to output files - Add Directed Outbound Configs subsection
This commit is contained in:
@@ -118,6 +118,15 @@ logging:
|
||||
When `ensure_connected` is true (default), the generator retries up to
|
||||
50 times to produce a connected graph.
|
||||
|
||||
### Directed Outbound Configs
|
||||
|
||||
The config generator assigns each edge to exactly one node for outbound
|
||||
connection using a BFS spanning tree rooted at the lowest node ID. Tree
|
||||
edges are assigned parent-to-child; non-tree edges are assigned from the
|
||||
lower node ID to the higher. This eliminates the dual-connect race
|
||||
condition where both sides initiate simultaneously, and creates a clear
|
||||
"owning side" for each link — relevant for auto-reconnect testing.
|
||||
|
||||
## Output
|
||||
|
||||
Results written to `sim-results/` (configurable via
|
||||
@@ -125,6 +134,7 @@ Results written to `sim-results/` (configurable via
|
||||
|
||||
- `analysis.txt` -- Summary: panics, errors, sessions, metrics
|
||||
- `metadata.txt` -- Seed, node count, edges, adjacency list
|
||||
- `runner.log` -- Orchestration events (topology, netem, churn, traffic) with timestamps
|
||||
- `fips-node-nXX.log` -- Per-node log output
|
||||
|
||||
Exit code 0 on success, 2 if panics detected.
|
||||
|
||||
Reference in New Issue
Block a user