Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
A pool implementation for the current concurrency library.
val create :
?max_size:int ->
?max_idle_size:int ->
?max_use_count:int option ->
?check:('a -> (bool -> unit) -> unit) ->
?validate:('a -> bool Lwt.t) ->
?log_src:Logs.Src.t ->
(unit -> ('a, 'e) result Lwt.t) ->
('a -> unit Lwt.t) ->
('a, 'e) t
Internal: create alloc free
is a pool of resources allocated by alloc
and freed by free
. This is primarily intended for implementing the connect_pool
functions.
val size : ('a, 'e) t -> int
size pool
is the current number of open resources in pool
.
use f pool
calls f
on a resource drawn from pool
, handing back the resource to the pool when f
exits.