Bedrock.DataPlane.Demux.PersistenceQueue (bedrock v0.5.3)
View SourceBounded queue primitives for async shard persistence.
This queue tracks pending, in-flight, and retry-scheduled entries. It is intentionally side-effect free aside from telemetry emission.
Summary
Types
@type counts() :: %{ pending: non_neg_integer(), scheduled: non_neg_integer(), in_flight: non_neg_integer(), lag: non_neg_integer() }
@type entry() :: %{ payload: payload(), attempt: non_neg_integer(), enqueued_at_ms: non_neg_integer() }
@type payload() :: term()
@type scheduled_entry() :: %{ payload: payload(), attempt: non_neg_integer(), enqueued_at_ms: non_neg_integer(), due_at_ms: non_neg_integer() }
@type t() :: %Bedrock.DataPlane.Demux.PersistenceQueue{ capacity: pos_integer(), in_flight: %{required(token()) => entry()}, max_retries: non_neg_integer(), next_token: token(), pending: :queue.queue(entry()), retry_base_backoff_ms: pos_integer(), scheduled: [scheduled_entry()] }
@type token() :: pos_integer()