reckon_db_emitter_sup (reckon_db v2.3.2)
View SourceEmitter supervisor for reckon-db
Manages emitter pools for subscriptions. Emitter pools are created dynamically when subscriptions are registered.
Summary
Functions
Start an emitter pool for a subscription
Start the emitter supervisor
Stop an emitter pool
Types
-type integrity_config() :: disabled | #{enabled := true, key_source := integrity_key_source()}.
-type integrity_key_source() :: {env_var, EnvName :: binary()} | {sealed_file, Path :: file:filename()}.
-type store_config() :: #store_config{store_id :: atom(), data_dir :: string(), mode :: single | cluster, timeout :: pos_integer(), writer_pool_size :: pos_integer(), reader_pool_size :: pos_integer(), gateway_pool_size :: pos_integer(), options :: map(), integrity :: integrity_config()}.
-type subscription() :: #subscription{id :: binary(), type :: subscription_type(), selector :: binary() | map(), subscription_name :: binary(), subscriber_pid :: pid() | undefined, created_at :: integer(), pool_size :: pos_integer(), checkpoint :: non_neg_integer() | undefined, options :: map()}.
-type subscription_type() ::
stream | event_type | event_pattern | event_payload | tags | by_stream | by_event_type |
by_event_pattern | by_event_payload | by_tags.
Functions
-spec start_emitter_pool(atom(), subscription()) -> {ok, pid()} | {error, term()}.
Start an emitter pool for a subscription
-spec start_link(store_config()) -> {ok, pid()} | {error, term()}.
Start the emitter supervisor
Stop an emitter pool