replikativ.crdt.cdvcs.realize
Functions to realize the value represented by a reduction over the
commit-history of a CDVCS.
commit-history
(commit-history commit-graph commit)
(commit-history commit-graph hist hist-set stack)
Returns the linear commit history for a CDVCS through depth-first
linearisation. Each commit occurs once, the first time it is found.
commit-history-values
(commit-history-values S store graph commit & {:keys [to-ignore], :or {to-ignore #{}}})
Loads the values of the commits including transactions from store into memory (!).
Returns go block to synchronize.
commit-value
(commit-value S store eval-fn graph commit)
Realizes the value of a commit of a CDVCS in store by an
application specific eval-fn (e.g. map from source/symbols to
fn.). Returns go block to synchronize. Caches old values and only
applies novelty.
head-value
(head-value S store eval-fn cdvcs)
Realizes the value of a staged CDVCS with help of store and an
application specific eval-fn (e.g. map from source/symbols to
fn.). Returns go block to synchronize.
stream-into-identity!
(stream-into-identity! stage [u id] eval-fn ident & {:keys [applied-log reset-fn], :or {reset-fn reset!}})
stream-loop
(stream-loop S store pub-ch [u id] cdvcs applied-log applied-ch eval-fn reset-fn ident)
stream-non-conflict
(stream-non-conflict S applied-log commit-graph heads new-commit-graph store eval-fn ident applied-ch new-commits)
summarize-conflict
(summarize-conflict S store eval-fn cdvcs-meta)
Summarizes a conflict situation between two heads in a Conflict
record. Returns go block to synchronize.