# `SnakeBridge.RuntimeContext`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L1)

Process-scoped runtime defaults for SnakeBridge calls.

Defaults are merged into `__runtime__` options at call time, making it easy to
set pool/timeout settings once per process or scoped block.

# `defaults`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L11)

```elixir
@type defaults() :: keyword()
```

# `clear_defaults`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L42)

```elixir
@spec clear_defaults() :: :ok
```

Clears runtime defaults for the current process.

# `get_defaults`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L34)

```elixir
@spec get_defaults() :: defaults()
```

Returns runtime defaults for the current process.

# `put_defaults`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L17)

```elixir
@spec put_defaults(defaults() | nil) :: :ok
```

Sets runtime defaults for the current process.

# `with_runtime`
[🔗](https://github.com/nshkrdotcom/snakebridge/blob/v0.14.0/lib/snakebridge/runtime_context.ex#L51)

```elixir
@spec with_runtime(defaults(), (-&gt; result)) :: result when result: term()
```

Applies runtime defaults for the duration of the given function.

---

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