skip to content
[readonly]

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)

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