# LibTmux.TmuxWaitChannel

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** C#
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux/Waiting/TmuxWaitChannel.cs#L23
- **Page:** https://libtmux.org/en/csharp/latest/reference/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.

<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. Closing attempts withdrawal before ending
the local client; failed withdrawal leaves remote registration unknown.

## Members

### Common operations

- `WaitAsync` (method): Waits for the signal, giving this attempt a budget.

### Other members

- `Channel` (property): Gets the channel being waited on.
- `CloseAsync` (method): Withdraws the waiter and ends its owned client lifetime.
- `DisposeAsync` (method): Withdraws the waiter from tmux.
- `Signalled` (property): Gets whether the wait completed before withdrawal began.
