core.async adapter
Optional core.async integration for libtmux-clojure. The base façade has no core.async dependency.
Install¶
This adapter has not shipped. Its Maven coordinate is
io.github.libtmux:libtmux-clojure-core-async; there is no public release to
install yet. Build and verify it from this checkout:
$ ./gradlew :libtmux-clojure-core-async:checkOwnership and backpressure¶
observe! borrows a control connection and owns its subscription, virtual
worker, events channel, and terminal channel. Closing the adapter or its
events channel stops that owned work; it never closes the borrowed connection.
The adapter defaults to an unbuffered events channel. Choose
:event-capacity deliberately, account for its one pending event, and inspect
:gap values from the upstream subscription separately from adapter loss.
Do not run blocking control I/O in a go block.
The Clojure guide contains executable control and core.async examples, including terminal outcomes and shutdown. See this module’s native API reference for function arities and ownership contracts, and its changelog for release history.
The complete core.async program includes imports, a CLI entry point, the optional dependency alias, private-server setup and cleanup. It closes its events consumer, reads the terminal outcome, and reuses the borrowed connection.
The javadoc classifier contains native reference HTML and an offline source
browser, generated from this module’s var metadata.