# `Hyper.Node.Layer`
[🔗](https://github.com/harmont-dev/hyper/blob/main/lib/hyper/node/layer.ex#L1)

Supervisor for this node's mounted layers. Owns a unique `Registry`
(`layer_id -> Layer.Server`) and a `DynamicSupervisor` that holds those
servers, so a layer can be mounted on demand and looked up by its id.

# `active`

```elixir
@spec active() :: [Hyper.Layer.id()]
```

Every layer id currently mounted on this node.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `start_link`

# `start_server`

```elixir
@spec start_server(Hyper.Layer.id()) :: {:ok, pid()} | {:error, term()}
```

Mount `layer_id` on this node (or reuse the server already mounting it).

---

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