Must.EventStorage behaviour (Must v0.1.0-dev)

Copy Markdown View Source

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

initialize(opts)

@callback initialize(opts :: Keyword.t()) :: :ok

Set initial state for an event data store.

persist_event(event, metadata)

@callback persist_event(event :: Must.Event.t(), metadata :: map()) :: :ok

Save an event to the log.

stream_events(version)

@callback stream_events(version :: pos_integer()) :: Stream.t()

Fetch events starting at a specified version.