Gateway transport for the shared View lifecycle.
The engine publishes :view/open, :view/patch and :view/close envelopes on
every selected channel. This namespace projects the :app copy into the matching
view.open, view.patch and view.close session events, preserving :kind so
clients choose capability policy without guessing from event names.
An :input View blocks while a :live View streams coalesced patches on
[[live-flush-ms]]. Operator intent for either kind enters through one action!
and one kind-independent REST resource; the engine owns the closed action
vocabulary and capability checks.
Gateway transport for the shared View lifecycle. The engine publishes `:view/open`, `:view/patch` and `:view/close` envelopes on every selected channel. This namespace projects the `:app` copy into the matching `view.open`, `view.patch` and `view.close` session events, preserving `:kind` so clients choose capability policy without guessing from event names. An `:input` View blocks while a `:live` View streams coalesced patches on [[live-flush-ms]]. Operator intent for either kind enters through one [[action!]] and one kind-independent REST resource; the engine owns the closed action vocabulary and capability checks.
(action! view-id action)Apply one closed operator action to open View view-id. Kind policy and all
validation stay in the engine, so every remote surface receives the same verdict.
Apply one closed operator action to open View `view-id`. Kind policy and all validation stay in the engine, so every remote surface receives the same verdict.
Channel the companion app is served on.
Channel the companion app is served on.
(flush-live-patches!)Publish every buffered patch NOW. The tick decides when this happens in a running gateway; a caller that needs the stream settled — a test, a shutdown — asks for it.
Publish every buffered patch NOW. The tick decides when this happens in a running gateway; a caller that needs the stream settled — a test, a shutdown — asks for it.
(input-view-of sid view-id)Input View view-id when it is pending in sid, else nil.
Input View `view-id` when it is pending in `sid`, else nil.
(input-views sid)Input Views session sid is BLOCKED on right now, oldest first.
Input Views session `sid` is BLOCKED on right now, oldest first.
(install!)Subscribe the gateway to :app View lifecycle events. Idempotent.
Subscribe the gateway to `:app` View lifecycle events. Idempotent.
(live-log-range sid view-id node-id from limit & [query])Read one bounded page of a live or closed log. query is a case-insensitive
literal substring; from counts matches, not source lines. Nil paging values
use the log-window policy, which is also the maximum response size.
Read one bounded page of a live or closed log. `query` is a case-insensitive literal substring; `from` counts matches, not source lines. Nil paging values use the log-window policy, which is also the maximum response size.
(live-view-of sid view-id)Live view view-id when it belongs to sid, else nil. Every REST answer goes
through this: a view id from another session must not be readable from here.
Live view `view-id` when it belongs to `sid`, else nil. Every REST answer goes through this: a view id from another session must not be readable from here.
(live-views sid)The live views open in session sid right now, oldest first — the resync a
client reads after joining late, waking up or losing its stream.
The live views open in session `sid` right now, oldest first — the resync a client reads after joining late, waking up or losing its stream.
(on-channel-event! event)Project one canonical :app View event into the session journal.
Project one canonical `:app` View event into the session journal.
(uninstall!)Drop the subscription installed by install!. Anything a view still has
buffered is published first: a gateway going away must not swallow patches
the engine already accepted.
Drop the subscription installed by [[install!]]. Anything a view still has buffered is published first: a gateway going away must not swallow patches the engine already accepted.
(view-of sid view-id)Open View view-id when it belongs to session sid, as a kind/document
descriptor, else nil. This is the ownership gate for the shared action route.
Open View `view-id` when it belongs to session `sid`, as a kind/document descriptor, else nil. This is the ownership gate for the shared action route.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |