Liking cljdoc? Tell your friends :D

hive-recife.examples.verdict-handoff

recife spec of the verdict-handoff CAS/idempotence protocol as a safety + liveness model (a plan->commit handoff).

REQUIRES recife on the classpath — load it LAZILY (never require this ns from hive-recife.core). safety-spec yields a hive-recife.schema/ModelSpec ready for hive-recife.core/check!.

Protocol: a verdict is planned over a content-hash snapshot; files may DRIFT; the verdict may EXPIRE; COMMIT is a compare-and-swap that applies the patch ONLY when the verdict is still planned and the plan-hash still matches the file-hash. The safety invariant never-apply-stale asserts a stale verdict is never applied; commit freezes the observed hash into ::applied-hash so the CAS precondition is inductively checkable.

recife spec of the verdict-handoff CAS/idempotence protocol as a safety +
liveness model (a plan->commit handoff).

REQUIRES recife on the classpath — load it LAZILY (never require this ns from
hive-recife.core). `safety-spec` yields a hive-recife.schema/ModelSpec ready
for hive-recife.core/check!.

Protocol: a verdict is planned over a content-hash snapshot; files may DRIFT;
the verdict may EXPIRE; COMMIT is a compare-and-swap that applies the patch
ONLY when the verdict is still planned and the plan-hash still matches the
file-hash. The safety invariant `never-apply-stale` asserts a stale verdict is
never applied; commit freezes the observed hash into ::applied-hash so the CAS
precondition is inductively checkable.
raw docstring

_COLON_hive_recife___examples___verdict_handoff_SLASH_eventually_committed100clj

(_COLON_hive_recife___examples___verdict_handoff_SLASH_eventually_committed100
  main-var
  extra-args)
source

_COLON_hive_recife___examples___verdict_handoff_SLASH_never_apply_stale2clj

(_COLON_hive_recife___examples___verdict_handoff_SLASH_never_apply_stale2
  main-var)
source

_COLON_hive_recife___examples___verdict_handoff_SLASH_step2clj

(_COLON_hive_recife___examples___verdict_handoff_SLASH_step2 self
                                                             main-var
                                                             extra-args)
source

eventually-committedclj

source

globalclj

Bounded global state (namespaced = global per recife convention). Hashes are kept in {0 1} so the state space is finite.

Bounded global state (namespaced = global per recife convention). Hashes are
kept in {0 1} so the state space is finite.
sourceraw docstring

handoffclj

source

never-apply-staleclj

source

safety-specclj

(safety-spec)

A hive-recife.schema/ModelSpec for the safety model (process + the never-apply-stale invariant). Expected result: :ok (the CAS holds).

A hive-recife.schema/ModelSpec for the safety model (process + the
never-apply-stale invariant). Expected result: :ok (the CAS holds).
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close