Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Same domain, local or HTTP

Point one namespace at a file store or at the HTTP service. Domain functions do not change.

;; file
(store/rooted-store (store/file-store "target/dacite-config"))

;; HTTP (JVM default policy is write-back)
(store/remote-rooted-store "http://127.0.0.1:8080")

Config, notes, event log, and sync all take --url. Example:

cd impl/clojure
clojure -M:service --port 8080 --store mem     # terminal 1
clojure -M:config -- --url http://127.0.0.1:8080 --reset show
clojure -M:config -- --url http://127.0.0.1:8080 set timeout 60

A second process shows the same root hash. Clients pull nodes they lack; they do not download a serialized view of the whole map.

Write-back: s-put is local until commit. Flush is POST /nodes (Layer 1 literals, same as pack GET), then POST /root/cas. The domain still requires only dacite.value + dacite.store.

nbb and babashka use the file store (npm run config, bb config). HTTP clients in those examples are the JVM --url path today.

See Persist and update a document and Anatomy.