diff options
| author | eunhhu <[email protected]> | 2026-09-27 19:45:25 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-09-27 19:45:25 +0100 |
| commit | bac70f376ef539a03a25e187f706fe8f9f67f01e (patch) | |
| tree | db8339687c2858477e2d23bb61509b85c3dafd99 /README.md | |
| parent | d72f57af85bb57042332da8bc002a2a0640639a0 (diff) | |
| download | pure-bac70f376ef539a03a25e187f706fe8f9f67f01e.tar.gz pure-bac70f376ef539a03a25e187f706fe8f9f67f01e.zip | |
Record the messenger between two nodes and its latency (089)
The roadmap's E2EE messenger made of the runtime's general parts, with
no messenger code in it: sealed, authenticated sessions between nodes
(086, 088), Vega on each node's display as a surface (design 010), the
app in Vega's examples. Vega's check runs two nodes through a recording
relay: a line typed on one display is drawn on the other, frames match
the vega command's, and the relay sees no text.
A line takes 0.79 ms at p50 and 1.1 ms at p99 from one node's program
to the other node's views with stores in RAM, both commits, the HTTP
delivery and the seal included (sealing adds nothing measurable); on the
Pi's SD card 3.5 ms at p50, the long tail being the card's syncs.
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -8,12 +8,14 @@ terminal UI, a CLI, spoken sentences and a web page through [Vega](/srv/git/vega durable, a commit being one contiguous write and one sync; views are read from a snapshot of the last save, so reads never wait for a sync. What an app sends is saved with its event and delivered over HTTP in order and in batches, and a receiving app applies each message once; sealed to the receiver's key (HPKE, one session a wire, -authenticated by the sender's key), no relay between them can read or change it, at the speed of unsealed sends. Measurements against axum and drogon on a Raspberry Pi 5 +authenticated by the sender's key), no relay between them can read or change it, at the speed of unsealed sends. +People use a node through surfaces it runs, reading its states where they are (Vega's display: a two-node messenger +shows a line on the other node's screen in about a millisecond). Measurements against axum and drogon on a Raspberry Pi 5 are in [075](docs/research/075-http-host-against-axum.md), [077](docs/research/077-apps-as-http-services.md), [080](docs/research/080-snapshot-reads.md), [081](docs/research/081-tail-records.md), [082](docs/research/082-json-in-place.md), [083](docs/research/083-delivery-over-http.md), -[086](docs/research/086-sealed-sends.md), [087](docs/research/087-small-reads-and-idle-memory.md) and -[088](docs/research/088-sealed-sessions.md); the status table is +[086](docs/research/086-sealed-sends.md), [087](docs/research/087-small-reads-and-idle-memory.md), +[088](docs/research/088-sealed-sessions.md) and [089](docs/research/089-messenger.md); the status table is [CHECKPOINT.md](CHECKPOINT.md). The source follows the principle below, a small core with the rest selected around it |
