# `Snodo.Server.Supervisor`
[🔗](https://github.com/joshrotenberg/snodo/blob/v0.4.2/lib/snodo/server/supervisor.ex#L1)

Optional supervision boundary for configured transport children.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

Starts a `:one_for_one` supervisor with one child per configured transport.

The child spec that `use Snodo.Server` defines starts this supervisor. It
takes `:transports` and `:supervisor_name` (passed here as `:name`) along
with runtime overrides.

Options:

  * `:runtime` - the `Snodo.Server.Runtime` given to every transport.
    Required.
  * `:transports` - the transport children. Defaults to `[]`. Each entry
    is a module, started as `{module, runtime: runtime}`; a
    `{module, opts}` tuple, started with `:runtime` added to `opts` unless
    already present; or a child spec map, used as given.
  * `:name` - a name to register the supervisor under.

---

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