Attesto.CredentialOfferStore.ETS (Attesto v1.12.0)

Copy Markdown View Source

Single-node ETS implementation of Attesto.CredentialOfferStore.

Credential offers live in a :protected ETS table owned by a GenServer that sweeps expired rows on a fixed interval. Writes (put/1, sweeping) run in the owner process; fetch/1 reads directly, is non-consuming, and returns an offer only while its expiry is strictly in the future.

This is a per-node store; a multi-node deployment MUST back Attesto.CredentialOfferStore with a shared store. Like the other ETS stores it refuses to boot on a clustered BEAM unless multi_node_acknowledged?: true.

Start options: :sweep_interval_ms (default 30_000), :multi_node_acknowledged? (default false).

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()