Persistence contract for event storage and replay.
Summary
Callbacks
@callback append_event(pid(), ASM.Event.t()) :: :ok | {:error, ASM.Error.t()}
@callback list_events(pid(), String.t()) :: {:ok, [ASM.Event.t()]} | {:error, ASM.Error.t()}
@callback reset_session(pid(), String.t()) :: :ok | {:error, ASM.Error.t()}
Functions
@spec append_event(pid(), ASM.Event.t()) :: :ok | {:error, ASM.Error.t()}
@spec list_events(pid(), String.t()) :: {:ok, [ASM.Event.t()]} | {:error, ASM.Error.t()}
@spec reset_session(pid(), String.t()) :: :ok | {:error, ASM.Error.t()}