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.