reckon_db_log_backend behaviour (reckon_db v3.1.1)
View SourceSummary
Types
#event{} — avoiding circular include
Types
-type direction() :: forward | backward.
-type event() :: term().
#event{} — avoiding circular include
-type expected_version() :: integer().
-type offset() :: non_neg_integer().
-type state() :: term().
-type store_id() :: atom().
-type stream_id() :: binary().
-type version() :: non_neg_integer().
Callbacks
-callback append_if_no_tag_matches(state(), store_id(), TagFilter :: term(), SeqCutoff :: non_neg_integer(), [new_event()]) -> {ok, version()} | {error, {context_changed, non_neg_integer()}} | {error, no_events} | {error, integrity_not_supported_in_dcb_v1} | {error, term()}.
-callback close(state()) -> ok.
-callback disk_bytes(state()) -> {ok, non_neg_integer()} | {error, term()}.
-callback read_all(state(), offset(), Count :: pos_integer()) -> {ok, [event()]} | {error, term()}.
-callback read_stream(state(), stream_id(), StartVersion :: non_neg_integer(), Count :: pos_integer(), direction()) -> {ok, [event()]} | {error, term()}.