clj-artnet.impl.shell.state

State snapshot/application utilities for running Art-Net nodes.

Provides blocking access to remote node state via flow injection and promise synchronization, and non-blocking state updates.

apply-state!

(apply-state! node state)

Applies a partial state updates to a running node (async).

Accepted state keys: :node, :network, :callbacks, :capabilities. Enqueues the update command and returns immediately.

diagnostics

(diagnostics node)(diagnostics node opts)

Fetched diagnostics from the running node (blocking). Default timeout: 1000ms.

request-snapshot

(request-snapshot node {:keys [keys timeout-ms], :as _opts} default-keys)

Requests a node state snapshot (blocking).

Injects a snapshot request into the flow and waits for the result via a promise delivery.

state

(state node)(state node opts)

Fetched runtime state :node :network from the node (blocking). Default timeout: 1000ms.