Copyright © 2013-2016 Alexei Krasnopolski
Version: 1.0.3
Introduced in: 2013-03-25
Authors: Alexei Krasnopolski (krasnop@bellsouth.net) [web site: http://krasnopolski.org].
References
Resource pool project was inspired by Apache Commons Pool library and API was borrowed from there. But internal implementation is completely different and is using Erlang OTP design principles and Erlang concurrent model. Resource Pool is Erlang application library.
resource_pool_srv.erl
is a main module of Resource Pool. It is generic server and implements
almost all Pool functionality.resource_pool.erl
is a facade for gen_server and exposes all API functions.resource_factory.erl
defines resource_factory behaviour and acts as a template and
simple implementation resource factory for testing purpose.{ok, Pid} = resource_pool:new(test_pool, resource_factory, [])where:
test_pool
- registered name of the new pool;resource_factory
- name of a module that implements resource_factory behaviour.Resource = resource_pool:borrow(test_pool)The process can use the borrowed resource and has to return to pool after finish.
ok = resource_pool:return(test_pool, Resource)The process can not use the
Resource
anymore.
Options = [{max_active, 10}, {when_exhausted_action, fail}]
{ok, Pid} = resource_pool:new(test_pool, resource_factory, Options)See resource_pool for more details about options.
Generated by EDoc, Feb 14 2016, 02:21:40.