Skip to main content

Module reader

Module reader 

Source
Expand description

Read access (per-user access design §4.4): the floor tick of a syncer that follows the workspace and never writes to the bucket.

A writer’s boundary integrates other writers’ changes and the inbox into its tree as a side effect of publishing. A reader has nothing to publish, so its tick is the pull alone: the inbox cell and the manifest pointer — the same two GETs an idle writer’s tick makes — and a whole-tree sync when either has moved since the last pull. sync makes no store writes (sync.rs), applies only onto paths the scan finds clean, and records every change it declines, so a reader’s tree converges the way a writer’s does and never loses a local byte silently. It never publishes one either.

What moved is judged by the two documents’ etags, remembered here rather than read off the baseline: sync deliberately leaves baseline.manifest_etag where it was (a writer’s next merge must still see a manifest change an inbox overlay hid), so the baseline would report “moved” on every tick and turn an idle reader into a manifest download per floor.

Structs§

Pull
What one reader tick found.