Skip to main content

Module apply

Module apply 

Source
Expand description

The direct landing writer: from a computed Projection and the receipt as it stands to the files on disk and the receipt written last.

Every landing renders afresh from this binary and the target at invocation. The writer decides each destination by its recorded kind alone, validates every destination before the first write, holds one target lock through the receipt write, opens the target directory once and writes every file relative to that held directory so a component swapped for a link after validation redirects nothing, and replaces each destination through a same-directory temporary file and a rename. The set is not transactional: a failure names every completed path, leaves the previous receipt, and the rerun lands the rest.

SATISFIES landing:ownership-is-elementary SATISFIES landing:a-partial-landing-is-visible-and-rerunnable SATISFIES landing:a-landing-leaves-a-record

Structs§

Collision
One destination the landing refuses before any write: a whole-file destination present on disk with no receipt entry attributing it, or a document whose markers offer the block no place.
Decision
One decided destination.
Held
One target directory held open for a whole landing verb.
Landed
What a landing completed.
Prepared
The landing decided and ready: the projection, every decision in projection order with the released destinations after them, every collision, and the configuration the landing writes first.

Enums§

Action
What the landing does with one destination.
Origin
How a landing came to write its receipt.

Constants§

INTERRUPT_VAR
The environment variable the interruption proof sets to the relative destination whose rename is to fail on purpose.
PAUSE_VAR
The environment variable naming a directory the proof pauses through once validation is over and the target is held: validated appears there, and the landing waits for proceed.

Functions§

decide
Decide every destination from the receipt and the disk, collecting every collision rather than stopping at the first.
land
Land prepared into target.
licence_refusal
The refusal a licence condition answers, before any write.
prepare
Gather the target’s evidence once, compute the projection, and decide every destination, writing nothing.
refusal
The one refusal for every collision, before any write.
release_unavailable
The refusal a selected release automation this release cannot land answers, before any write: silently omitting the declared release would write a record that claims an automation nothing landed.