Current section

Files

Jump to
bcrypt src bcrypt_nif_pool_sup.erl
Raw

src/bcrypt_nif_pool_sup.erl

%% Copyright (c) 2011 Hunter Morris
%% Distributed under the MIT license; see LICENSE for details.
-module(bcrypt_nif_pool_sup).
-behaviour(supervisor).
-export([start_link/0, start_child/0, init/1]).
start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []).
start_child() -> supervisor:start_child(?MODULE, []).
init([]) ->
{ok, PoolSize} = application:get_env(bcrypt, nif_pool_size),
{ok, MaxOverFlow} = application:get_env(bcrypt, nif_pool_max_overflow),
PoolArgs = [
{name, {local, nif_pool}},
{nif_pool_size, PoolSize},
{nif_pool_max_overflow, MaxOverFlow},
{worker_module, bcrypt_nif_worker}
],
PoolSpecs = [
poolboy:child_spec(nif_pool, PoolArgs, [])
],
{ok, {{one_for_one, 10, 10}, PoolSpecs}}.