Attesto.PresentationSessionStore.ETS (Attesto v1.11.0)

Copy Markdown View Source

Single-node ETS implementation of Attesto.PresentationSessionStore.

Presentation sessions live in a :protected named ETS table owned by a GenServer. Every write runs inside that owner process, so complete/2 atomically guards the pending to completed transition on status and expiry and concurrent submissions have exactly one possible winner on this node; no other process can write the table directly.

This is a per-node store. A multi-node deployment MUST use a shared store, or explicitly acknowledge the limitation with multi_node_acknowledged?: true.

Start options

  • :sweep_interval_ms (default 30_000) - how often expired entries are deleted.
  • :multi_node_acknowledged? (default false) - permit this per-node store to start on a clustered BEAM.

Wiring

children = [Attesto.PresentationSessionStore.ETS]

Summary

Functions

Clear every entry. Test-facing.

Functions

reset()

@spec reset() :: :ok

Clear every entry. Test-facing.

start_link(opts \\ [])

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