skip to content
[readonly]

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

sh
$ 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
==> 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.