Packages
launchdarkly_server_sdk
1.0.0
3.11.0
3.10.1
3.9.0
3.8.1
3.8.0
3.7.2
3.7.1
3.7.0
3.6.0
3.5.0
3.4.0
3.3.1
3.3.0
3.2.0
3.1.0
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.1.2
2.1.1
2.1.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.6.0
1.5.0
1.4.0
1.3.2
1.3.1
1.3.0
1.2.0
1.1.3
1.1.2
1.1.1
retired
1.1.0
retired
1.0.1
retired
1.0.0
retired
1.0.0-beta4
retired
1.0.0-beta3
retired
1.0.0-beta2
retired
LaunchDarkly SDK for Erlang
Retired package: Deprecated - This version will not be able to connect to and communicate with LaunchDarkly after support for the HTTP/2 protocol is enabled.
Current section
Files
Jump to
Current section
Files
src/ldclient_storage_cache_sup.erl
%%-------------------------------------------------------------------
%% @doc `ldclient_storage_cache_sup' module
%%
%% This is a supervisor for cache storage worker.
%% @end
%%-------------------------------------------------------------------
-module(ldclient_storage_cache_sup).
-behaviour(supervisor).
%% Supervision
-export([start_link/3, init/1]).
%% Helper macro for declaring children of supervisor
-define(CHILD(Id, Module, Args, Type), {Id, {Module, start_link, Args}, permanent, 5000, Type, [Module]}).
%%===================================================================
%% Supervision
%%===================================================================
-spec start_link(SupRegName :: atom(), WorkerRegName :: atom(), Tag :: atom()) ->
{ok, Pid :: pid()} | ignore | {error, Reason :: term()}.
start_link(SupRegName, WorkerRegName, Tag) when is_atom(SupRegName), is_atom(WorkerRegName), is_atom(Tag) ->
supervisor:start_link({local, SupRegName}, ?MODULE, [WorkerRegName, Tag]).
-spec init(Args :: term()) ->
{ok, {{supervisor:strategy(), non_neg_integer(), pos_integer()}, [supervisor:child_spec()]}}.
init([WorkerRegName, Tag]) ->
{ok, {{one_for_one, 0, 1}, children(WorkerRegName, Tag)}}.
%%===================================================================
%% Internal functions
%%===================================================================
-spec children(WorkerRegName :: atom(), Tag :: atom()) -> [supervisor:child_spec()].
children(WorkerRegName, Tag) ->
FeatureStorageServer = ?CHILD(ldclient_storage_cache_server, ldclient_storage_cache_server, [WorkerRegName, Tag], worker),
[FeatureStorageServer].