# `Minga.Extension.Instance.Runtime`
[🔗](https://github.com/jsmestad/minga/blob/main/lib/minga/extension/instance/runtime.ex#L1)

Monitored runtime identity owned by an extension Instance.

# `t`

```elixir
@type t() :: %Minga.Extension.Instance.Runtime{monitor: reference(), pid: pid()}
```

# `demonitor`

```elixir
@spec demonitor(t() | nil) :: :ok
```

Drops this runtime's monitor and any queued DOWN message.

# `ensure`

```elixir
@spec ensure(t() | nil, pid()) :: t()
```

Returns the existing identity when it already names the process, otherwise monitors it.

# `matches?`

```elixir
@spec matches?(t(), reference(), pid()) :: boolean()
```

Reports whether a DOWN identity matches this runtime.

# `monitor`

```elixir
@spec monitor(pid()) :: t()
```

Monitors and captures a runtime process.

---

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