# io.github.libtmux.junit5.FakeControlClient

- **Module:** io.github.libtmux.junit5
- **Package:** io.github.libtmux:libtmux
- **Language:** Java
- **Kind:** class
- **Source:** https://github.com/libtmux/libtmux-java/blob/f56392b5d9bc7f1f9c1631842333fb90f3d82d40/libtmux-junit5/src/main/java/io/github/libtmux/junit5/FakeControlClient.java#L28
- **Page:** https://libtmux.org/en/java/latest/reference/io-github-libtmux-junit5-fakecontrolclient-fakecontrolclient/

A {@code tmux -C} client of a {@link FakeTmux}, as the process a control client talks to.

It reads one command line at a time, has the fake answer it, and writes the reply block tmux
would: {@code %begin}, the output, then {@code %end} or {@code %error}. Pushed output and
notifications are written between replies, never inside one, as tmux writes them. It ends, with
{@code %exit}, when the fake restarts or the client closes its input.

## Members

### Other members

- `destroy` (method)
- `end` (method): Ends the client as a server that went away does.
- `exitValue` (method)
- `FakeControlClient` (method)
- `getErrorStream` (method)
- `getInputStream` (method)
- `getOutputStream` (method)
- `isAlive` (method)
- `parse` (method): A command line as tmux's parser reads the ones this library writes: each argument single quoted, a quote as {@code '\''}, a newline or return as {@code "\n"} or {@code "\r"}, and an unquoted {@code ;} between commands.
- `push` (method): Writes an unprompted line, such as {@code %output}, between replies.
- `waitFor` (method)
