The blob frames on the peer links: F_BLOB_PUT (a push), F_BLOB_ACK, F_BLOB_GET (a fetch) and F_BLOB (its answer)
$ sexc add @ajax/mesh-blobs-frame- total 3
- drwxr-xr-x-../
- drwxr-xr-x-Oct 27 05:23v/# 1 version
- drwxr-xr-x-Oct 27 05:23files/# the files of 0.1.0
- latest
- 0.1.0, published Oct 27 05:23 by ajax
- owners
- ajax
- license
- MIT
- dependencies
- @ajax/mesh-check ^0.1.0, @ajax/mesh-strbuf ^0.1.0, @ajax/mesh-abi-peer-frames ^0.1.0, @ajax/mesh-jobs-id ^0.1.0
- dependents
- @ajax/mesh-blobd
- keywords
- mesh alphaos blobs frames protocol
- homepage
- https://github.com/thomasdavis/alpha-c-mesh/tree/main/packages/mesh-blobs-frame
- repository
- https://github.com/thomasdavis/alpha-c-mesh
1# @ajax/mesh-blobs-frame 2 3The blob frames on the peer links. Each is a type byte, a `u32` length, then a body that starts with 4the blob's sha256: 5 6| Frame | Body | Meaning | 7|---|---|---| 8| F_BLOB_PUT | hash, u64 job, u32 len, bytes | A push of the job's copy | 9| F_BLOB_ACK | hash, u32 ok, u64 job | The receiver's copy is durable (or was refused) | 10| F_BLOB_GET | hash, u64 job | A fetch: any job's copy serves | 11| F_BLOB | hash, u32 found, bytes | A fetch's answer | 12 13## Ported from 14 15[alpha-rust-mesh](https://github.com/rsafier/alpha-rust-mesh) (Richard Safier, MIT): 16`crates/mesh-host/src/blobd.rs`: the frames `ack`, `tick` (pushes and gets) and `frame` (answers and 17reading) write and read. 18 19## Tests 20 21`tests/frame.c`: each frame's bytes and lengths, read back, and short bodies refused. 22 23## Licence 24 25MIT. See the repository's LICENSE.