# `Plushie.Transport.IOStream`
[🔗](https://github.com/plushie-ui/plushie-elixir/blob/v0.7.2/lib/plushie/transport/iostream.ex#L1)

Transport implementation for iostream adapter connections.

Communicates with an external process that owns the underlying I/O
(SSH channel, TCP socket, WebSocket, etc.). The adapter process
handles framing and delivers complete protocol messages.

Protocol:
1. Bridge sends `{:iostream_bridge, bridge_pid}` during init.
2. Adapter sends `{:iostream_data, binary}` for incoming data.
3. Bridge sends `{:iostream_send, iodata}` for outgoing data.
4. Adapter sends `{:iostream_closed, reason}` on transport close.

# `t`

```elixir
@type t() :: %Plushie.Transport.IOStream{
  alive: boolean(),
  io_pid: pid(),
  monitor_ref: reference()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
