Deterministic in-memory ceremony store intended for tests and single-node use.
The caller supplies monotonic timestamps to make expiration tests deterministic. Use a shared transactional store when ceremonies can finish on multiple nodes.
Summary
Functions
Returns a specification to start this module under a supervisor.
Atomically consumes an entry from the named store or server process.
Stores an entry in the named store or server process.
Starts an isolated ceremony store.
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec consume(GenServer.server(), String.t(), integer()) :: {:ok, term()} | {:error, :not_found | :expired}
Atomically consumes an entry from the named store or server process.
@spec put(GenServer.server(), String.t(), term(), integer()) :: :ok
Stores an entry in the named store or server process.
@spec start_link(keyword()) :: GenServer.on_start()
Starts an isolated ceremony store.