Jido.Chat.Discord.NostrumGatewayBuffer (Jido Chat Discord v1.0.0)

Copy Markdown View Source

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.

Summary

Types

state()

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

Functions

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

pop_events(bridge_id, max_count \\ 100)

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

push_event(bridge_id, event)

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

start_link(opts)

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

whereis(bridge_id)

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