Skip to main content

Module trigger

Module trigger 

Source
Expand description

Shared as soon as Sioul saves (docs/database.md, “Sent as soon as it is saved”): when a file a sharing part carries changes here (a dose answered, a setting, health.toml, a project, a budget), an exchange runs a few seconds later, then this device’s files go to the server. One mechanism for every change, whoever wrote it: the window looks at the shared files every two seconds (Stamps), and a change seen, like an exchange asked (a button, a dose answered, the minute’s tick), wants one (Soon). Saves that follow each other wait for a pause: two seconds after the last, five after the first at most, so that a page saving each field as you type sends once, and soon.

The notes and papers folders are not looked at (thousands of files, every two seconds): the minute’s exchange reads them, as before.

Structs§

Soon
When an exchange is wanted: asked now, or saves seen, waiting for a pause.
Stamps
How the shared files stand: each one’s size and time, by its path. A change of either is a save (or a file the exchange wrote, taken in after it with refresh).

Constants§

LARGEST_WATCH 🔒
A folder of shared files is not looked through past this many files.
MIN_GAP_MS
Exchanges for saves, and the minute’s scheduled one, never start closer than this to the last (milliseconds): a file Sioul writes each minute (a session’s time, a plan) costs one exchange a minute, not two, and a quiet minute only the scheduled one. An exchange asked (a button, a dose answered) goes at once all the same. A save is thus carried within a minute, within seconds when the last exchange is older.
MOST_MS
…and never later than this after the first (milliseconds).
QUIET_MS
A save is followed by an exchange this long after the last one, if none follows (milliseconds)…

Functions§

stamp 🔒
watched 🔒
Looked at every two seconds: every store but the folders sealed apart file by file (notes, papers).