%% -*- mode: erlang; tab-width: 4; indent-tabs-mode: 1; st-rulers: [70] -*- %% vim: ts=4 sw=4 ft=erlang noet %%%------------------------------------------------------------------- %%% @author Andrew Bennett %%% @copyright 2015-2016, Andrew Bennett %%% @doc %%% %%% @end %%% Created : 28 Dec 2015 by Andrew Bennett %%%------------------------------------------------------------------- -module(libsodium_sup). -behaviour(supervisor). -define(SERVER, ?MODULE). %% API -export([start_link/0]). %% Supervisor callbacks -export([init/1]). %% Helper macro for declaring children of supervisor -define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}). %%%=================================================================== %%% API functions %%%=================================================================== start_link() -> supervisor:start_link({local, ?SERVER}, ?MODULE, []). %%%=================================================================== %%% Supervisor callbacks %%%=================================================================== %% @private init([]) -> ChildSpecs = [ ?CHILD(libsodium_server, worker) ], Restart = {one_for_one, 10, 10}, {ok, {Restart, ChildSpecs}}. %%%------------------------------------------------------------------- %%% Internal functions %%%-------------------------------------------------------------------