Packages
sippet
0.3.4
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
An Elixir Session Initiation Protocol (SIP) stack.
Current section
Files
Jump to
Current section
Files
lib/sippet/poolboy_util.ex
defmodule Sippet.PoolboyUtil do
@moduledoc false
@spec child_spec(module, module, Keyword.t) :: Supervisor.Spec.spec
def child_spec(module, worker, defaults) do
env_config = Application.get_env(:sippet, module)
config =
if env_config == nil do
defaults
else
Keyword.merge(defaults,
for {k, v} <- env_config, k in [:size, :max_overflow] do
{k, v}
end)
end
config =
config
|> Keyword.put(:name, {:local, module})
|> Keyword.put(:worker_module, worker)
:poolboy.child_spec(module, config, [])
end
@spec check_out(module) :: pid
def check_out(module), do: :poolboy.checkout(module)
@spec check_in(module, pid) :: :ok
def check_in(module, worker), do: :poolboy.checkin(module, worker)
end