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

Transport implementation for Erlang Port-based connections.

Handles two modes:

- `:spawn` (default) spawns the renderer binary as a child process.
  Supports restart on crash (the bridge re-opens the port).
- `:stdio` reads/writes the BEAM's own stdin/stdout. Used when the
  renderer spawns the Elixir process (e.g. `plushie --exec`).

# `t`

```elixir
@type t() :: %Plushie.Transport.Port{
  format: :msgpack | :json,
  log_level: atom(),
  mode: :spawn | :stdio,
  port: port() | nil,
  renderer_args: [String.t()],
  renderer_path: String.t() | nil
}
```

---

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