Control.execute/3
Executes one qualified request, returning its result after wire retirement and record reclamation. Repeated successful calls need no manual forget.
Source and package
- Qualified name
-
LibTmux .Control .execute/3 - Module
- LibTmux
- Declared in
- Control
- Package
- libtmux
- Source
- lib/libtmux/control.ex
- execute(control, request, options \\ []) @spec execute(t(), Lib
Tmux (), [ call.Control .Request .t _option () ]) :: {:ok, LibTmux ()} | {:error, Lib.Operation .result Tmux () | Lib.Error .t Tmux ()}.Control .Execution Error .t -
Description#
The default 5000ms budget covers preparation, admission, execution and collection. Failed, skipped and unknown canonical outcomes remain values; acknowledgement does not establish external program completion.
Pre-admission errors have no-write certainty. An error after admission is a
LibTmux.Control.ExecutionErrorwith the exact Operation and retained or lost context. Inspect that handle when available; never replay on timeout. The original caller owns recovery: its death permits reclamation after wire retirement, even if it passed the handle to another process. A live caller's timeout leaves the record subject to normal retention and explicit forget.Operation.status/1andOperation.result/1inspect it without a waiter. A new await needs its own slot; the expired collector releases its slot asynchronously when the owner processes closure. Usesubmit/3when a retained handle is required after successful waiting.alias LibTmux.Control
Control.execute(control, LibTmux.Control.Request.field("pid"))
- Parameters
-
-
options([call_option ()]) #
Discussed in Execution ownership