Skip to content

Latest commit

 

History

History
88 lines (64 loc) · 3.1 KB

clojure-core-async-api.md

File metadata and controls

88 lines (64 loc) · 3.1 KB

libtmux-clojure-core-async API

Generated from public namespace and var metadata; do not edit by hand. Each heading links to its current Clojure source.

Read the guide for runnable programs and ownership. The captured-value reference documents map keys. Functions ending in ! may cross the external-state boundary.

Namespaces

Closeable core.async observation through observe!. events carries deliveries; terminal reports local subscription cleanup. Borrow an explicit connection from libtmux.control/attach!.

(events adapter)

Returns the read-only events channel. Closing it stops the adapter. Created by observe!; terminal delivers the final cleanup outcome.

(limits adapter)

Returns the adapter's exact retained-event bound. observe! defines upstream and adapter capacity separately.

(observe! connection)

(observe! connection options)

Starts an owned virtual worker over a borrowed control connection.

:event-capacity defaults to zero. The worker can retain one pending event; a fixed buffer retains that many more. :upstream-capacity bounds the Java subscription, which reports overflow as a :gap value ahead of the events that remain; :encoding is :bytes or :utf-8. Closing the events channel or adapter stops blocked reads and puts. A stopped outcome retains the final :upstream/terminal, including loss, cause and trailing text. Adapter loss stays separate under :adapter/events. The borrowed connection remains open. Borrow a connection from libtmux.control/attach!; read events and terminal.

(stop! adapter)

Stops observation and closes only the owned subscription and worker. terminal reports completion; the connection supplied to observe! stays open.

(terminal adapter)

Returns a buffered channel that delivers one outcome after cleanup. events carries deliveries; stop! requests local shutdown.