Connection
One held-open control client.
Source and package
- Qualified name
-
libtmux::Connection - Namespace
- libtmux
- Package
- libtmux-cxx
- Source
- include/libtmux/control.hpp
-
Description#
Shared freely between threads.
execute(),take_notifications(),wait_for_notifications(),watch_notifications(),set_pane_output()and the muting pair may all be called at once: writes are serialized, and each reply is matched to its own request through a private boundary, which is what lets concurrent callers tell their blocks apart even though tmux puts no request id on a guard.Moving from a connection, or destroying one, may not race with any of those — the same rule
CommandRuntimestates for itself.It remains one FIFO client, so a command that waits on the server also delays whatever another thread asked for next. That is why
Server::run()stays the surface for a command whose final result matters.
Members15#
Common operations1#
- connect method
Other members14#
- ~Connection method
- Connection method
- dropped_notifications method How many outside-block events this Connection's legacy taking cursor missed to keep the shared log bounded.
- events method Everything tmux says until the deadline, as one loop rather than two.
- execute method Completes at this request's private protocol boundary and preserves every guarded block before it.
- mute_pane_output method Named forms of set_pane_output; the same connection policy applies.
- native_child_pid method
- notification_fd method A descriptor that is readable exactly when a take would return something.
- resume_pane_output method
- set_pane_output method Stop or resume
outputfor one pane, on a connection that asked for it. - shutdown method
- take_notifications method Every outside-block event tmux has written since the last call.
- wait_for_notifications method The same, but waits for something to arrive.
- watch_notifications method Open an independent cursor at the next outside-block event.
Guides#
Pages that discuss Connection.