# `XMAVLink.Util.Context`
[🔗](https://github.com/fancydrones/xmavlink/blob/main/lib/mavlink_util/context.ex#L1)

Utility-layer runtime context.

Utility helpers use this context to choose the router, dialect, and ETS table
namespace they operate on. Pass `context: context` to utility functions when
an application has more than one MAVLink runtime or when global ETS table
names are not acceptable.

# `t`

```elixir
@type t() :: %XMAVLink.Util.Context{
  dialect: module(),
  router: GenServer.server(),
  table_prefix: table_prefix(),
  tables: %{required(atom()) =&gt; atom()}
}
```

# `table_prefix`

```elixir
@type table_prefix() :: atom() | String.t() | nil
```

# `new`

```elixir
@spec new(keyword() | map() | t()) :: t()
```

---

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