# LibTmux.TmuxWaitChannel

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** .NET
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/6656a563ec9e07ab52e0c3ac96f7704fc94cc0c0/src/LibTmux/Waiting/TmuxWaitChannel.cs#L22
- **Page:** https://libtmux.org/reference/dotnet/libtmux-tmuxwaitchannel/

An open wait on a tmux <c>wait-for</c> channel.

tmux gives a signal to whoever is registered on the channel and raises the
channel's pending flag only when nobody is. A waiter whose client dies stays
registered — tmux clears waiters when the server exits and at no other time
— so it goes on eating signals that can no longer reach anybody. Killing a
waiting client to enforce a timeout therefore destroys the next signal, and
each timed-out retry leaves another corpse to destroy the one after that.

So this never abandons a live waiter. <see cref="WaitAsync" /> returning
false means that attempt expired without observing completion. The open
wait remains owned and may already have completed from a racing signal.
Disposing ends its lifetime deliberately.

## Members

- `TmuxWaitChannel` (method)
- `Channel` (property) — Gets the channel being waited on.
- `Signalled` (property) — Gets whether the wait completed before withdrawal began.
- `WaitAsync` (method) — Waits for the signal, giving this attempt a budget.
- `WaitUntilSignalledAsync` (method)
- `DisposeAsync` (method) — Withdraws the waiter from tmux.
