Packages
erldns
10.5.1
11.1.0
11.0.3
11.0.2
11.0.1
11.0.0
10.6.0
10.5.6
10.5.5
10.5.4
10.5.3
10.5.2
10.5.1
10.5.0
10.4.4
10.4.3
10.4.2
10.4.1
10.4.0
10.3.0
10.2.1
10.2.0
10.1.0
10.0.0
10.0.0-rc4
10.0.0-rc3
10.0.0-rc2
10.0.0-rc1
9.1.0
9.0.0
9.0.0-rc3
9.0.0-rc2
9.0.0-rc1
8.1.0
8.0.0
8.0.0-rc6
8.0.0-rc5
8.0.0-rc4
8.0.0-rc3
8.0.0-rc2
8.0.0-rc1
7.0.0
7.0.0-rc9
7.0.0-rc8
7.0.0-rc7
7.0.0-rc6
7.0.0-rc5
7.0.0-rc4
7.0.0-rc3
7.0.0-rc2
7.0.0-rc12
7.0.0-rc11
7.0.0-rc10
7.0.0-rc1
6.0.2
6.0.1
6.0.0
5.0.0
4.3.1
4.3.0
4.2.4
4.2.3
4.2.2
4.2.1
4.2.0
4.1.2
4.1.1
4.1.0
4.0.0
3.0.0
1.0.0
Erlang Authoritative DNS Server
Current section
Files
Jump to
Current section
Files
src/zones/load/erldns_zone_loader_sup.erl
-module(erldns_zone_loader_sup).
-moduledoc false.
-behaviour(supervisor).
-export([start_link/0, init/1]).
-spec start_link() -> supervisor:startlink_ret().
start_link() ->
supervisor:start_link({local, ?MODULE}, ?MODULE, noargs).
-spec init(noargs) -> {ok, {supervisor:sup_flags(), [supervisor:child_spec()]}}.
init(noargs) ->
SupFlags = #{strategy => one_for_one, intensity => 10, period => 5},
Config = erldns_zone_loader:get_config(),
FileWorkerSupSpec = file_worker_sup_spec(),
FileGetterSpec = file_getter_spec(Config),
Children = [FileWorkerSupSpec, FileGetterSpec],
{ok, {SupFlags, Children}}.
-spec file_worker_sup_spec() -> supervisor:child_spec().
file_worker_sup_spec() ->
#{
id => erldns_zone_loader_worker_sup,
start => {erldns_zone_loader_worker_sup, start_link, []},
type => supervisor,
restart => permanent
}.
-spec file_getter_spec(erldns_zones:config()) -> supervisor:child_spec().
file_getter_spec(Config) ->
#{
id => erldns_zone_loader_getter,
start => {erldns_zone_loader_getter, start_link, [Config]},
type => worker,
restart => permanent
}.