Packages
sippet
0.1.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
@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
accepted = [:size, :max_overflow]
Keyword.merge(defaults,
for {k, v} <- env_config, Enum.member?(accepted, k) 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