Spool, the client-side replica: the paths it owns, the budget on them, and the version vector the
object keeps for it.
The vector is a map from tag to the cursor of its last change, held in memory: it writes no row,
so a save costs the meter nothing for it. A restart loses it, and the answer to a device that
asks after one is to reset, which costs the device its copies and never shows it a stale page. A
cursor is generation * 4096 + n, where n counts the changes inside one generation, so every
change after a page was decorated has a higher cursor than that page carries.
Spool, the client-side replica: the paths it owns, the budget on them, and the version vector the object keeps for it.
The vector is a map from tag to the cursor of its last change, held in memory: it writes no row, so a save costs the meter nothing for it. A restart loses it, and the answer to a device that asks after one is to reset, which costs the device its copies and never shows it a stale page. A cursor is
generation * 4096 + n, wherencounts the changes inside one generation, so every change after a page was decorated has a higher cursor than that page carries.