Behaviour for implementing event storage.
Summary
Callbacks
Set initial state for an event data store.
Save an event to the log.
Fetch events starting at a specified version.
Callbacks
@callback initialize(opts :: Keyword.t()) :: :ok
Set initial state for an event data store.
@callback persist_event(event :: Must.Event.t(), metadata :: map()) :: :ok
Save an event to the log.
@callback stream_events(version :: pos_integer()) :: Stream.t()
Fetch events starting at a specified version.