# LibTmux.FSharp.Mirror.tryWaitUntil

- **Module:** LibTmux.FSharp
- **Package:** LibTmux.FSharp
- **Language:** F#
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-dotnet/blob/cf34b255c896d19a97e7d7fabea58609c916012d/src/LibTmux.FSharp/Control.fsi#L162
- **Page:** https://libtmux.org/en/fsharp/latest/reference/libtmux-fsharp-mirror-trywaituntil/

```
val tryWaitUntil:
        cancellationToken: CancellationToken ->
        timeout: TimeSpan ->
        condition: (ServerMirrorView -> bool) ->
        mirror: ServerMirror ->
            Task<ServerMirrorView option>
```

Waits until a view satisfies a condition, or returns None when none did in time.

As <c>waitUntil</c>, for a caller to whom running out of time is an ordinary outcome.

## Parameters

- `cancellationToken` (`CancellationToken`)
- `timeout` (`TimeSpan`)
- `condition` (`(ServerMirrorView -> bool)`)
- `mirror` (`ServerMirror`)

## Raises

- [`System.InvalidOperationException`](https://learn.microsoft.com/dotnet/api/system.invalidoperationexception): The mirror ended first.
