aboutsummaryrefslogtreecommitdiffstats
path: root/src/state/host.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-09 20:29:32 +0000
committertv <tv@krebsco.de>2026-11-09 22:20:00 +0100
commit152890f321075beede075314d37ff6451604c359 (patch)
tree352bbdeabea55735d9bafe78cba24b58a1182c2f /src/state/host.rs
parent5f7e29cec4333715346b4bf3195633db93449d9d (diff)
document file: a clean stop marked, and `--keep-actor` writes on as the same actor
A node writes as a fresh Automerge actor at each start, so no change number of an actor comes twice: one sent before a crash but not yet appended to the document file would otherwise be made again, differently. An epoch thus gathers a writer per start, and every transfer of its history carries a signature per writer. The document file now says when it holds everything the node wrote: * at a clean stop, after the last append, an empty `Closed` record, only where the file is up to the document's heads (ready, not rejoining); * as a node starts on the file, before anything is written, an empty `Opened` record, so a crash from then on leaves a file without the mark; * the header names the actor the node writes with (`current`). With `--keep-actor` (off by default; needs `--document-file`), a node starting on a file that ends with `Closed` writes on as that actor. A crash, a drop, a switch or a rejoin still starts a fresh one, so an epoch's writers come to one per node plus one per such event. lifecycle.md says so.
Diffstat (limited to 'src/state/host.rs')
0 files changed, 0 insertions, 0 deletions