Expand description
Durable Pulsify documents in SQLite, without materializing them.
The database file uses the schema and append semantics of the TypeScript
SqlitePatchStore, so either implementation can open a file written by the other.
Structs§
- Append
Result - Error
- A failure carrying a Pulsify protocol error code, such as
CONFLICT. - Hub
- One writer and its sessions: each session is pinned to a document, and rows stored through one session are forwarded to the document’s other sessions.
- Patch
Row - Relay
Output - The frames produced by one incoming frame.
- Sqlite
Store - Immutable rows keyed by
(doc_id, sid, time_start). Rows stay pending until their actor prefix is contiguous and their dependencies are stored.
Constants§
- SCHEMA
- Byte-for-byte
SQLITE_PATCH_SCHEMAfrom@pulsify/core/storage.
Traits§
- Sink
- Delivers frames to one session. Returns
falseonce the peer is gone.
Functions§
- chunk_
rows - Mirror of
chunkRows: about 2 MiB, 4096 rows and the relay node budget per page. - relay_
frame - Serve one protocol frame from the store, like
relayStoreMessage. Rows are committed before the acknowledgement. A frame which cannot be decoded is anErr; every other failure becomes an error frame for the peer. - validate_
doc_ id