The fleet's peer link frames: F_JOIN with capabilities, the election and commit messages, F_BEAT with the reconcile status and move outcomes, F_HELLO
$ sexc add @ajax/mesh-peer-codec- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 04:09v/# 1 version
- drwxr-xr-x-Oct 27 04:09files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 04:09 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0, @ajax/mesh-mt ^0.1.0, @ajax/rust-fmt ^0.1.0, @ajax/mesh-fleet-doc ^0.1.0, @ajax/mesh-fleet-core ^0.1.0, @ajax/mesh-sched-tracker ^0.1.0, @ajax/mesh-place-wire ^0.1.0, @ajax/mesh-abi-base ^0.1.0, @ajax/mesh-abi-peer-frames ^0.1.0, @ajax/mesh-abi-peer-sizes ^0.1.0, @ajax/mesh-abi-backend ^0.1.0, @ajax/mesh-abi-reconcile ^0.1.0, @ajax/mesh-abi-group-state ^0.1.0
- dependents
- @ajax/mesh-fleetd, @ajax/mesh-peer-link, @ajax/mesh-peer-relay, @ajax/mesh-reconcile, @ajax/meshd
- keywords
- mesh alphaos fleet peer wire frames fleet
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-peer-codec
- repository
- https://github.com/thomasdavis/alpha-c-mesh
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.