Tiny_httpd_core.Pool
Resource pool.
This pool is used for buffers. It can be used for other resources but do note that it assumes resources are still reasonably cheap to produce and discard, and will never block waiting for a resource — it's not a good pool for DB connections.
val create :
?clear:('a -> unit) ->
mk_item:(unit -> 'a) ->
?max_size:int ->
unit ->
'a t
Create a new pool.
val with_resource : 'a t -> ('a -> 'b) -> 'b
with_resource pool f
runs f x
with x
a resource; when f
fails or returns, x
is returned to the pool for future reuse.
module Raw : sig ... end
Low level control over the pool. This is easier to get wrong (e.g. releasing the same resource twice) so use with caution.