Transport
Bounded asynchronous process execution
Source and package
- Qualified name
-
LibTmux:: Async:: Transport - Module
- LibTmux::Async
- Package
- LibTmux-Async
- Source
- packages/async/lib/LibTmux/Async/Transport.pm
- package Lib
Tmux:: ;Async:: Transport
Members3#
- close method Begin idempotent shutdown and return a fresh observer Future. New admissions fail with
Closed; queued requests are cancelled without dispatch and running jobs are cancelled. Cancelling an observer never cancels private cleanup. Only successfulis_donecompletion proves all owned jobs, pipes, and watchers have completed cleanup. The borrowed loop remains usable. Callers must keep driving it through shutdown. - execute method Accepts the same literal process arguments as
"run" in LibTmux::Transport. Returns a Future yielding onecommand result. Typed core exceptions remain the failure value. Queue overflow fails withQueueFullbefore dispatch. The backend is checked again at admission and launch. Child preparation failures retain a typed diagnostic anddispatchedfalse, with supervisor exit still required before cleanup completes. - new method
new(loop => $loop, max_concurrent => 4, max_queue => 64)borrows an IO::Async::Loop::Ppoll backed by IO::Ppoll. Construct that class explicitly; automatic loop selection can choose an unsupported backend. Other classes, a substituted poll implementation, or a wait mask blocking SIGCHLD throwUnsupportedbefore dispatch. The loop owns supervisor reaping; competing external all-child reapers are unsupported. The library never runs, stops, or replaces it.