Host-side nREPL client: connect to a worker port, send ops, return replies.
Uses the Transport protocol directly (send + recv) for synchronous
request-response semantics. Does NOT use nrepl.core/client or
nrepl.core/message — those layer lazy seqs and timeouts designed for
interactive REPLs, not RPC.
nrepl.* namespaces are NOT required at namespace-load time. The worker
loads this namespace via server.clj's :require to get loopback-conn and
the loopback branch of ask — neither of which touches nrepl. Host-facing
functions below defer their nrepl loads via requiring-resolve, so the
project's pinned nrepl wins via the launch classpath's project-first
ordering.
Host-side nREPL client: connect to a worker port, send ops, return replies. Uses the Transport protocol directly (`send` + `recv`) for synchronous request-response semantics. Does NOT use nrepl.core/client or nrepl.core/message — those layer lazy seqs and timeouts designed for interactive REPLs, not RPC. nrepl.* namespaces are NOT required at namespace-load time. The worker loads this namespace via server.clj's :require to get `loopback-conn` and the loopback branch of `ask` — neither of which touches nrepl. Host-facing functions below defer their nrepl loads via `requiring-resolve`, so the project's pinned nrepl wins via the launch classpath's project-first ordering.
(ask-streaming conn msg on-reply)Send msg and call on-reply for each intermediate reply. Returns nil
when the final :done message arrives. Loopback: the handler returns a
single map; on-reply is called once with it.
Send `msg` and call `on-reply` for each intermediate reply. Returns nil when the final `:done` message arrives. Loopback: the handler returns a single map; `on-reply` is called once with it.
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 |