reckon_db_streams_reader (reckon_db v1.6.0)
View SourceStreams reader worker for reckon-db
A gen_server that handles read operations for streams. Readers are temporary processes that terminate after a period of inactivity.
Features: - Partitioned by stream_id for concurrent reads from different streams - Idle timeout to free up resources - Registration via pg groups
Summary
Functions
Get or create a reader for a stream
Get all streams in the store
Read events from a stream via a reader worker
Start a reader worker
Types
-type event() :: #event{event_id :: binary(), event_type :: binary(), stream_id :: binary(), version :: non_neg_integer(), data :: map() | binary(), metadata :: map(), tags :: [binary()] | undefined, timestamp :: integer(), epoch_us :: integer(), data_content_type :: binary(), metadata_content_type :: binary()}.
Functions
Get or create a reader for a stream
Get all streams in the store
-spec read(atom(), binary(), non_neg_integer(), pos_integer(), atom()) -> {ok, [event()]} | {error, term()}.
Read events from a stream via a reader worker
-spec start_link({atom(), binary(), non_neg_integer()}) -> {ok, pid()} | {error, term()}.
Start a reader worker