# libtmux.core-async

- **Module:** libtmux.core-async
- **Package:** io.github.libtmux:libtmux-clojure-core-async
- **Language:** Clojure
- **Kind:** module
- **Source:** https://github.com/libtmux/libtmux-java/blob/5f88402151ff08fc0390dd438b90963692ec3fe4/libtmux-clojure-core-async/src/main/clojure/libtmux/core_async.clj#L1
- **Page:** https://libtmux.org/en/clojure/latest/reference/libtmux-core-async/

```
(ns libtmux.core-async)
```

Closeable core.async observation through [[observe!]].

[[events]] carries deliveries; [[terminal]] reports local subscription cleanup.
Borrow an explicit connection from [[libtmux.control/attach!]].

## Members

### Common operations

- [`observe!`](/en/clojure/latest/reference/libtmux-core-async-observe/) (function): Starts an owned virtual worker over a borrowed control connection.
- [`events`](/en/clojure/latest/reference/libtmux-core-async-events/) (function): Returns the read-only events channel. Closing it stops the adapter.
- [`terminal`](/en/clojure/latest/reference/libtmux-core-async-terminal/) (function): Returns a buffered channel that delivers one outcome after cleanup.

### Other members

- [`limits`](/en/clojure/latest/reference/libtmux-core-async-limits/) (function): Returns the adapter's exact retained-event bound.
- [`stop!`](/en/clojure/latest/reference/libtmux-core-async-stop/) (function): Stops observation and closes only the owned subscription and worker.

## Guides

Pages that discuss `libtmux.core-async`.

- [Captures, effects and streams](/en/clojure/latest/guides/captures-and-effects/)
