Turns one hook arrival into a registry action.
The registry is keyed by ling-id while an arrival carries only a pane-id, so
reconciling needs a reverse lookup. Planning is pure over a registry VALUE:
the decision is testable without a registry, a tmux server or a socket, and
the boundary that performs it stays a case over the plan.
Turns one hook arrival into a registry action. The registry is keyed by ling-id while an arrival carries only a pane-id, so reconciling needs a reverse lookup. Planning is pure over a registry VALUE: the decision is testable without a registry, a tmux server or a socket, and the boundary that performs it stays a `case` over the plan.
(ling-for-pane registry pane-id)The ling-id whose registry entry holds PANE-ID, or nil.
REGISTRY is the {ling-id -> entry} value. Ambiguity is resolved by taking
the first match in sort order rather than an arbitrary one, so the same
registry always yields the same answer; two lings sharing a pane is a bug
upstream and must not also be non-deterministic here.
The ling-id whose registry entry holds PANE-ID, or nil.
REGISTRY is the `{ling-id -> entry}` value. Ambiguity is resolved by taking
the first match in sort order rather than an arbitrary one, so the same
registry always yields the same answer; two lings sharing a pane is a bug
upstream and must not also be non-deterministic here.(plan registry event)The registry action EVENT calls for, given REGISTRY.
Only a pane-death id deregisters. A :tmux/state-changed arrival carries no
claim that a pane is gone, and acting on it would evict live panes; it is
observed and ignored.
The registry action EVENT calls for, given REGISTRY. Only a pane-death id deregisters. A `:tmux/state-changed` arrival carries no claim that a pane is gone, and acting on it would evict live panes; it is observed and ignored.
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 |