Liking cljdoc? Tell your friends :D

eva.admin.graph.alpha

Provides a basic implementation for migration handled through a flowgraph

Provides a basic implementation for migration handled through a flowgraph
raw docstring

->parentclj

(->parent node)
source

careful-create-node!clj

(careful-create-node! store n)
source

handle-nodecljmultimethod

source

migration-contextclj

(migration-context store)
source

migration-graphclj

(migration-graph context)
source

MigrationContextcljprotocol

handle-seenclj

(handle-seen this k)

Update the migration context for a node that we expect to be newly seen

Update the migration context for a node that we expect to be newly seen

maybe-writableclj

(maybe-writable this k)

Given a node key, update the ledger to note that it can be written provided all of its children are written.

Given a node key, update the ledger to note that it can be written *provided* all of its children are written.

note-stateclj

(note-state this k state)

Update the node state in the ledger to (max current-state state)

Update the node state in the ledger to (max current-state state)

process-parentclj

(process-parent this parent-node-info parent-k children-ks)

If the provided parent node has any children which are not yet written, note them as such and add the node itself to the context to await release once the nodes' children have been written.

If the provided parent node has any children which are not yet written, note them as such and add the node itself to the context to await release once the nodes' children have been written.

ledgerclj

(ledger this k)

The ledger is a map from all node keys that the migration context has seen to the most advanced state we know the node to be in, as per 'node-states'

The ledger is a map from all node keys that the migration context has seen to the most advanced state we know the node to be in, as per 'node-states'

handle-writtenclj

(handle-written this k)

Update the migration context to note that the provided node has been written

Update the migration context to note that the provided node has been written

maybe-release-parentsclj

(maybe-release-parents this k)

Given the key of a written node, check the set parents of the node. If any are releasable, remove the nodes from the awaiting-parents and add them as released-parents

Given the key of a written node, check the set parents of the node. If any are releasable, remove the nodes from the awaiting-parents and add them as released-parents

at-state?clj

(at-state? this k state)

Returns true if the node is in the ledger at a state >= the provided state.

Returns true if the node is in the ledger at a state >= the provided state.

handle-newclj

(handle-new this k)

Update the migration context for a node that we expect to be new

Update the migration context for a node that we expect to be new
source

node-info-comparatorclj

source

node-statesclj

source

state-compclj

(state-comp x1 x2)
source

state-orderclj

source

state-priorityclj

source

states-setclj

source

transitioned?clj

(transitioned? [ledger-before ledger-after] k state)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close