# `Jido.Chat.Discord.NostrumGatewayBuffer`
[🔗](https://github.com/agentjido/jido_chat_discord/blob/v1.0.0/lib/jido/chat/discord/nostrum_gateway_buffer.ex#L1)

In-memory event buffer used by Discord gateway listener integrations.

This buffer is bridge-scoped and can be used as a pull source via
`pop_events/2` for `Jido.Chat.Discord.GatewayWorker`.

# `state`

```elixir
@type state() :: %{
  bridge_id: String.t(),
  queue: :queue.queue(term()),
  queue_size: non_neg_integer(),
  max_events: pos_integer()
}
```

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `pop_events`

```elixir
@spec pop_events(String.t(), pos_integer()) :: [term()]
```

# `push_event`

```elixir
@spec push_event(String.t(), term()) :: :ok
```

# `start_link`

```elixir
@spec start_link(keyword()) :: GenServer.on_start()
```

# `whereis`

```elixir
@spec whereis(String.t()) :: pid() | nil
```

---

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