leo_pod is an Erlang worker pool manager, which does not use ETS(Eralng Term Storage).
See files under the test/
directory in the repository.
%% Prepare
PodName = 'first_leo_pod',
PodSize = 8,
MaxOverflow = 16,
ModName = 'leo_pod_mod',
WorkerArgs = [{protocol, tcp},
{host, "127.0.0.1"},
{port, 8080}],
leo_pod:start_link(PodName, PodSize, MaxOverflow, ModName, WorkerArgs),
%% Execute - [checkout > call > checkin]
{ok, Worker} = leo_pod:checkout(PodName),
{ok, _Reply} = gen_server:call(Worker, {echo, <<"Hello Hal,">>}),
ok = leo_pod:checkin(PodName, Worker),
ok.
leo_pod is used in leo_rpc library. It is used to mangage the number of process of RPC clients for each node. It is necessary because some OS has the limit for the number of file descriptors and therefore connections to the other nodes.
leo_pod's license is "Apache License Version 2.0"
- LeoProject/LeoFS was sponsored by Rakuten, Inc. from 2012 to Dec of 2018.
- LeoProject/LeoFS is sponsored by Lions Data, Ltd. from Jan of 2019.