skip to content
==> README.md <==
1# @ajax/mesh-peer-codec
2
3The fleet's peer link frames, byte for byte as the Rust writes them (mesh-abi "peer frames v6"):
4`F_JOIN` with this machine's capabilities and the checks that refuse a link (version, cluster size,
5who dials whom), the election and commit messages of `@ajax/mesh-fleet-core` (`F_VOTE_REQ`, `F_VOTE`,
6`F_STATE`, `F_STATE_ACK`, `F_COMMIT`), `F_BEAT` (the core's beat plus the member's reconcile status,
7reason and move outcomes) and `F_HELLO` (a lockstep group member ready for an epoch and cycle).
8
9## Ported from
10
11[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) `crates/mesh-host/src/peer.rs`: `Caps`,
12`Join` (`encode`, `decode`, `check`), `BeatStatus`, `msg_frame`, `beat_frame`, `beat_decode`,
13`moves_bytes`, `moves_decode`, `hello_frame`, `hello_decode`, the reader's fixed-size decodes; and
14`shared.rs` `HelloSpec`.
15
16## Tests
17
18`tests/codec.c`: the Rust's `join_frame_and_checks` and `fleet_frames_round_trip`.
19
20## Licence
21
22MIT. See the repository's LICENSE.