Backplane.AgentRuntime.Subscriber (backplane_agent_runtime v1.6.0)

Copy Markdown

Bounded event subscriptions with cursor retention and gap markers.

Slow subscribers cannot block execution. When a cursor expires, replay explicitly requests a snapshot instead of silently losing events.

Summary

Types

t()

@type t() :: map()

Functions

append(subscriber, event)

@spec append(t(), map()) :: {:ok, t()} | {:error, Backplane.AgentRuntime.Error.t()}

gap(subscriber, cursor)

@spec gap(t(), non_neg_integer()) :: {:ok, %{gap: boolean(), from: non_neg_integer()}}

new(retention)

@spec new(non_neg_integer()) ::
  {:ok, t()} | {:error, Backplane.AgentRuntime.Error.t()}

replay(subscriber, cursor)

@spec replay(t(), non_neg_integer()) ::
  {:ok, list(), keyword()} | {:error, Backplane.AgentRuntime.Error.t()}