OverviewFilesCommitsIssuesDocsReleasesPeers

keet-daemon commits / a423ff3

CPP-PORT-DESIGN: M5g-4c done — streams; drill 10/11 (prefetch owed to a pipe test)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
a423ff3c0ab921cdc8661acedf1d342fe018a4bf
by plankatron <fleeky@gmail.com> · 2026-10-04T00:07:28.000Z

Changed files (1) +15 -0

docs/CPP-PORT-DESIGN.md +15 -0
……@@ -2520,6 +2520,21 @@ SessionState's truncate / reorg / named-session machinery.
25202520 majority of 3); a parked treeHash on a wait session; applyProof with the reader's
25212521 missingNodes; verifyFullyRemote, valid and tampered.
25222522 - **Drill `m5g4b`: 20/20 red.** The first run killed 16; its 4 gaps became cases. ctest 30/30.
2523- **M5g-4c DONE 2026-10-03** (keetd fe8f270 + the gate / drill commit): read / write / byte streams
2524 (lib/streams.js), pull-based (`read(cb)`; the end is sticky).
2525 - **Behaviour:**
2526 - A read stream ends on a null get (streamx `push(null)`).
2527 - A snapshot's end is the length at open; live applies only open-ended.
2528 - Writes made during an append are appended together.
2529 - The byte stream: update, seek, a linear prefetch range, a binary get, slicing.
2530 - **Core gate `streams` (34 ops):** ranges, a hole, mid-stream appends (snapshot vs not), a
2531 live read waiting past the length (a local append resolves it), writes before end(),
2532 and the byte stream's offsets / lengths / null TypeErrors (measured from JS: an awaited
2533 destructuring of null is "(intermediate value) is not iterable").
2534 - **Drill `m5g4c`: 10/11 red.**
2535 - **OWED:** "bytes: no prefetch" is observable only as download requests to a peer, so it
2536 needs a pipe scenario.
2537 - ctest 30/30.
25232538- **M5g-4 — the rest of the surface:**
25242539 - value encodings and `encodeBatch` (DECODING_ERROR); `postappend`, `onseq`, `onwait`;
25252540 - `setEncryption` / `setEncryptionKey` / `setKeyPair` / `setGroup`;